Git常見問題解決方法總結

前言

git工具常用的項目管理工具,我在使用的過程中,發現我的兄弟們有時候會遇到這樣那樣的問,通常解決這些問題也需要花費一些時間,我思來想去幹脆總結一下,以便於在遇到問題的時候查閱。

merge衝突

  • 假如你merge的時候產生了很大的衝突,想先放棄某次merge,你可以:
git merge --abort 或
git reset HEAD 或
git checkout HEAD

分支修改切換

在非目的分支上做了修改,想切換回目的分支

  • 還未添加到暫存區/已添加到暫存區還未提交

    1、 新建臨時分支, git checkout-b new_branch,這樣改動會被帶到新分支。然後把非目的分支的修改用 git checkout.恢復。
    2、先 git stash,然後切換到目的分支(git checkout 【target-branch】),在目的分支 git stash pop即可。這種方式最好理解,就是把改動先放到一個臨時區域,讓git先別管,到了正確的分支再拿出來。

已提交到本地倉庫

這種情況就要有reset了,用 git reset HEAD^撤銷最近一次提交,如果有多次提交的話,查找到對應提交id進行reset就行。git默認的是mixed模式,即撤銷暫存區,保留工作區。這樣你再切分支也還能把改動帶過去。當然加–soft也可以,這樣能保留暫存區和工作區。

已push到遠程倉庫

如果很不幸你已經把誤修改給push了,你需要用到revert命令,先用 git log查找到你誤提交的commitId,然後 git revert commitId,產生一次逆向提交,來對沖掉之前的。之後再push到遠程就可以了。

git忽略不提交文件

  • 從未提交過的文件

這種最簡單,直接把想忽略的文件加入 .gitignore中忽略提交即可.

  • 已經推送(push)過的文件

已經推送(push)過的文件,想刪除本地文件,並將刪除這個操作更新到遠程文件,

git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push -u origin master
  • 已經推送(push)過的文件,想從git遠程庫中刪除,並在以後的提交中忽略,但是卻還想在本地保留這個文件,可以使用
git rm --cached pages/index.wxml
  • 已經推送(push)過的文件,想在以後的提交時忽略此文件(即使本地對該文件修改過也不同提交新修改),並且不刪除git遠程庫中相應文件,可以使用
git update-index --assume-unchanged pages/index.wxml
  • 如果要忽略的是一個目錄,則打開 git bash,cd到 目標目錄下
git update-index --assume-unchanged $(git ls-files | tr '\n' ' ') 

提交分支代碼

  • 在當前分支下,第一次push
git push --set-upstream origin [branch]

這樣設置一次之後,後面就直接 git push即可。

  • 不在當前分支下,
//   git push <遠程主機名> <本地分支名>:<遠程分支名>
git push origin feature_abc:feature_abc  

分支代碼操作常用命令

  • 列出所有本地分支
git branch
  • 列出所有遠程分支
git branch -r
  • 列出所有本地分支和遠程分支
git branch -a
  • 新建一個分支,但依然停留在當前分支
git branch [branch-name]
  • 新建一個分支,並切換到該分支
git checkout -b [branch]
  • 新建一個分支,與指定的遠程分支建立追蹤關係
git branch --track [branch] [remote-branch]
  • 切換到指定分支,並更新工作區
git checkout [branch-name]
  • 切換到上一個分支
git checkout -
  • 合併指定分支到當前分支
git merge [branch]
  • 刪除分支
git branch -d [branch-name]
  • 刪除遠程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
  • 拉取所有分支代碼
git fetch
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章