Git解決pull操作不成功問題

木頭房子de發表於2018-11-27

場景

  • 在git pull的時候,如果原生程式碼有改動,而伺服器上程式碼也已經被其他人更新過,這個時候是無法成功pull的,可以通過以下四個步驟解決
  1. git stash
    • 將本地所有修改暫時儲存起來
    • 使用git stash list 檢視儲存資訊
  2. git pull --rebase
    • 暫存了本地修改之後使用pull拉取
  3. git stash pop stash@{0}
    • 還原暫存的內容
    • 如果只有一次 git stash操作,在還原的本地修改時,直接使用 git stash pop 即可
  4. 解決檔案中的衝突部分
    • 如果有檔案衝突,衝突地方git會自動指明具體衝突程式碼,自行修改即可

附:git常用操作

  1. 正常情況,修改工作區檔案後add->commit->push
    • git status
    • git stash 或者git stash save "message..."
    • git pull --rebase
    • git stash pop
    • git add . 或者git add filename
      • . 表示所有檔案
    • git commit -m "message..."
    • git push
  2. 撤銷工作區的檔案修改(暫存區檔案覆蓋工作區檔案)
    • git checkout -- filename
  3. 當修改的檔案已經add到暫存區,需要撤銷此次新增(撤銷上一次git add filename操作)
    • git reset -- filename或者git reset HEAD filename
    • 撤銷暫存區內所有檔案改動:
      • git rest 或者git reset HEAD git rest HEAD .
  4. 當對上次提交不滿意,可以讓HEAD指標回退,而暫存區和工作區可以不用改動
    • git reset --soft HEAD ^
  5. 如果讓工作區不改變,而暫存區和引用(HEAD指標)回退一次
    • git reset --mixed HEAD ^
  6. 當需要徹底撤銷最近的提交,HEAD指標、暫存區、工作區都回到上一次的提交狀態,自上一次以來的提交全部丟失
    • git rest --hard HEAD ^

相關文章