­

8 個不常見但很有用的 Git 命令

  • 2019 年 10 月 29 日
  • 筆記

來源:http://t.cn/EGbpbsY

  • 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