--1.git基本使用
git add --文件修改添加到暫存區
git log --pretty=oneline --顯示從最近到最遠的提交日誌
git reset --hard HEAD^ --以把暫存區的修改撤銷掉(unstage),重新放回工作區;HEAD是當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^
git reset --hard 1094a --只要上面的命令行窗口還沒有被關掉,你就可以順着往上找啊,找到那個append GPL的commit id是1094adb...,於是就可以指定回到未來的某個版本
git reflog --關掉了電腦,第二天早上就後悔了,想恢復到新版本怎麼辦,要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本。
git status
git diff HEAD -- code_file.txt --命令可以查看工作區和版本庫裏面最新版本的區別
git commit -m "my_code node" --把暫存區的所有內容提交到當前分支
git push origin HEAD:refs/for/master --合入master/分支
git status
git checkout -- code_file.txt --直接丟棄工作區的修改 ,命令中的--很重要,沒有--,就變成了“切換到另一個分支”的命令
git rm test.txt --從版本庫中刪除該文件
--2.分支管理
git checkout -b dev --git checkout命令加上-b參數表示創建並切換 ,相當於以下兩條命令:git branch dev 、git checkout dev
git branch --命令查看當前分支
git checkout master --dev分支的工作完成,可以切換回master分支:
git merge dev --git merge命令用於合併指定分支到當前分支
git branch -d dev --合併完成後,就可以放心地刪除dev分支了
git branch --查看branch,就只剩下master分支了
git switch -c dev --創建並切換到新的dev分支
git switch master --直接切換到已有的master分支
Git鼓勵大量使用分支:總結
查看分支:git branch
創建分支:git branch <name>
切換分支:git checkout <name>或者git switch <name>
創建+切換分支:git checkout -b <name>或者git switch -c <name>
合併某分支到當前分支:git merge <name>
刪除分支:git branch -d <name>
--3.解決衝突
--用git log --graph命令可以看到分支合併圖
git log --graph --pretty=oneline --abbrev-commit
//demo/////////////////////////////////////////////////////
$ git log --graph --pretty=oneline --abbrev-commit
* cf810e4 (HEAD -> master) conflict fixed
|\
| * 14096d0 (feature1) AND simple
* | 5dc6824 & simple
|/
* b17d20e branch test
* d46f35e (origin/master) remove test.txt
* b84166e add test.txt
* 519219b git tracks changes
* e43a48b understand how stage works
* 1094adb append GPL
* e475afc add distributed
* eaadf4e wrote a readme file
最後,刪除feature1分支:
$ git branch -d feature1
Deleted branch feature1 (was 14096d0).
///////////////////////////////////////////////////////////