就在剛才查看資料時候, 看見一句話, 寫的特別好: 當我的才華撐不起我的夢想的時候, 應該安靜下來學習
配上我最喜歡動漫的一個角色: 紅蓮
1. Git 初始化項目
1). 創建新的知識庫
echo "# study_git" >> README.md git init git add README.md git commit -m "first commit" git remote add origin https://github.com/renfanzi/study_git.git git push -u origin master
2). 再次提交
git add . 或者 git add test.py git commit -m "..." git push origin master
2. Git 創建分支
git checkout -b dev 創建dev分支, 並切換到dev分支中去
等同於:
git branch dev 創建dev 分支
git checkout dev 切換分支
git branch 查看當前分支
git branch -d dev 刪除dev分支
3. Git 合並分支內容
git merge dev 命令用於合並指定分支到當前分支, 如果當前在master分支, 那么這條命令就是把dev合並到master
注意:
如果文檔有沖突, 需要修正沖突以后再上傳
4. Git 回滾
1). git log 命令可以幫我們查看歷史記錄, 查看版本號, 如果覺得太眼花繚亂, 可以加上 --pretty=oneline
=========== root@corleone:/opt/code/my_code/git_study# git log commit 6c73f83caaefbaa7d19ca583a27cfebcd6c6f071 (HEAD -> master, origin/master) Author: root <root@localhost.localdomain> Date: Tue Jul 10 15:37:00 2018 +0800 two commit commit ffc485e22ca1748d28d83f817cb5d8abbd7a0a5f Author: root <root@localhost.localdomain> Date: Tue Jul 10 15:30:12 2018 +0800 first commit ===========
2). 兩種方式回滾
方法1:
git reset --hard HEAD^
(在Git中,用HEAD表示當前版本,也就是最新的提交ffc485e22c...(注意我的提交ID和你的肯定不一樣),
上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。)
再次查看git log
----------------------- root@corleone:/opt/code/my_code/git_study# git log commit ffc485e22ca1748d28d83f817cb5d8abbd7a0a5f (HEAD -> master) Author: root <root@localhost.localdomain> Date: Tue Jul 10 15:30:12 2018 +0800 first commit root@corleone:/opt/code/my_code/git_study# ----------------------
已經回滾到上一級了
方法2:
git reset --hard 6c73f83caa 等同於上面
3). git 回滾到以前被掩蓋覆蓋的版本中
方法一:
只要上面的命令行窗口還沒有被關掉,你就可以順着往上找,找到那個commit 的commit ID,於是就可以指定回到指定版本
方法二:
git reflog ---> 作用: 記錄你的每一次的命令
終端返回值:
====================
root@corleone:/opt/code/my_code/git_study# git reflog
6c73f83 (HEAD -> master, origin/master) HEAD@{0}: reset: moving to 6c73f83caa
6c73f83 (HEAD -> master, origin/master) HEAD@{1}: reset: moving to 6c73f83caa
ffc485e HEAD@{2}: reset: moving to HEAD^
6c73f83 (HEAD -> master, origin/master) HEAD@{3}: commit: two commit
ffc485e HEAD@{4}: commit (initial): first commit
===================
5. 常用命令
git diff readme.md 查看文件被改變狀態(以提交一次, 繼續工作, 許久后忘記哪些地方修改了, 可以用這個命令) ====== root@corleone:/opt/code/my_code/git_study# git diff readme.md diff --git a/readme.md b/readme.md index e69de29..bca558b 100644 --- a/readme.md +++ b/readme.md @@ -0,0 +1,2 @@ +asdfadsf + ====== git reflog ---> 作用: 記錄你的每一次的命令 git log 命令可以幫我們查看歷史記錄, 查看版本號 git reset --hard HEAD^ git reset --hard 6c73f83caa 等同於上面 git clone https://... 克隆項目
6. .gitignore 的作用
把要忽略的文件名填進去,Git就會自動忽略這些文件。