- 1. 拉取遠端程式碼並且改寫本地更改
- 2. 列出遠端和本地所有分支
- 3. 強制更新遠端分支
- 4. 回滾一個 merge
- 5. 修改之前的提交記錄或者很久前提交的記錄
- 6. 使用多個遠端程式碼庫,並且使用多個不同的 SSH Key
- 7. 和外部團隊協作需要的維護多個遠端庫,合併其他庫的更新的過程
- 8. 撤銷 Git 的最後一次提交
1. 拉取遠端程式碼並且改寫本地更改
git fetch origin && git reset –hard origin/master
2. 列出遠端和本地所有分支
git branch -a
git branch -r
3. 強制更新遠端分支
git push origin master -f
4. 回滾一個 merge
git revert -m 1 xxxx
5. 修改之前的提交記錄或者很久前提交的記錄
git rebase –interactive ID^
將需要修改的記錄的 pick 改成 edit
執行更改
git commit –all –amend
git rebase –continue
6. 使用多個遠端程式碼庫,並且使用多個不同的 SSH Key
修改 ~/.ssh/config
Host bitbucket.org
HostName bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
User git
Host bitbucket.org-key2
HostName bitbucket.org
IdentityFile ~/.ssh/key2_id_rsa
User git
修改 .git/config
[remote “origin”]
url = git@bitbucket.org-key2:XXXX/yyyy.git
fetch = +refs/heads/*:refs/remotes/origin/*
7. 和外部團隊協作需要的維護多個遠端庫,合併其他庫的更新的過程
git remote rename origin upstream
git remote add origin URL_TO_GITHUB_REPO
git push origin master
git pull upstream master && git push origin master
8. 撤銷 Git 的最後一次提交
git reset –soft HEAD~1