五類線和六類線區別
1. git本地的三個狀態
1)工作區:所有新建的檔案,或者修改還未add 的檔案
2)暫存區:所有add 的檔案
3)本地倉庫:所有commit 的檔案
2. 常用命令
1)從本地庫撤銷commit
- 可以將commit 撤銷到 暫存區就是add 之後的狀態。
git reset --soft HEAD~1 或者 git reset --soft HEAD^ 後面這個預設是回退一個提交
- 可以將commit 撤銷到 工作區 add之前的狀態。
git reset HEAD~1 或者 git reset --mixed HEAD~1
- 可以將commit 撤銷到工作區add之前,並且本次提交的修改全部沒了(慎用)
git reset --hard HEAD~1
補充:如果這樣使用只是為了修改提交的commit的備註,可以使用 git commit --amend
2) 分支相關
- 檢視分支 git branch
- 從當前狀態建立分支 git branch test
- 從當前狀態建立分支並切換分支 git checkout -b test
- 刪除分支 git branch -b test
3) 壓縮當前分支的提交
- 當前分支自己有3次提交,想將這三次提交壓縮成1次。
git rebase -i HEAD~3 或者 git rebase -i commitId 其中 commitId是這三次最新提交的前一次,
也就是壓縮三次提交必須之前有4次以上的提交。將最新的提交變基到前一次提交上。
- 強制將當前分支向遠端提交
git push origin --force
4)建立本地分支並且與遠端分支關聯
- git checkout -b 本地分支名 origin/遠端分支名
- git log --all --graph 檢視所有分支的分支圖
1. git本地的三個狀態
1)工作區:所有新建的檔案,或者修改還未add 的檔案
2)暫存區:所有add 的檔案
3)本地倉庫:所有commit 的檔案
2. 常用命令
1)從本地庫撤銷commit
- 可以將commit 撤銷到 暫存區就是add 之後的狀態。
git reset --soft HEAD~1 或者 git reset --soft HEAD^ 後面這個預設是回退一個提交
- 可以將commit 撤銷到 工作區 add之前的狀態。
git reset HEAD~1 或者 git reset --mixed HEAD~1
- 可以將commit 撤銷到工作區add之前,並且本次提交的修改全部沒了(慎用)
git reset --hard HEAD~1
補充:如果這樣使用只是為了修改提交的commit的備註,可以使用 git commit --amend
2) 分支相關
- 檢視分支 git branch
- 從當前狀態建立分支 git branch test
- 從當前狀態建立分支並切換分支 git checkout -b test
- 刪除分支 git branch -b test
3) 壓縮當前分支的提交
- 當前分支自己有3次提交,想將這三次提交壓縮成1次。
git rebase -i HEAD~3 或者 git rebase -i commitId 其中 commitId是這三次最新提交的前一次,
也就是壓縮三次提交必須之前有4次以上的提交。將最新的提交變基到前一次提交上。
- 強制將當前分支向遠端提交
git push origin --force
4)建立本地分支並且與遠端分支關聯
- git checkout -b 本地分支名 origin/遠端分支名
- git log --all --graph 檢視所有分支的分支圖