git使用錯誤整理

忽然有一天你用git提交文件的時候發現提交的結果是錯誤的,而且提示:Please, commit your changes or stash them before you can merge.


這就是本地文件和倉庫中的文件沖突了,不要著急,看小姐姐怎么解決的

1.如果是這個文件你備份好了,或者是在沒有用了,你直接就執行這個命令

? git reset-----這種方法會丟棄本地修改的代碼,而且不可找回

2.如果你還想要這個文件,那就請用下面的這個命令

? ? ?1)直接commit本地的修改----也一般不用這種方法

? ? ?2)通過git stash---- 通常用這種方法

? ? ? ? ? ? ? git stash

? ? ? ? ? ? ?git pull

? ? ? ? ? ? ?git stash pop

通過git stash將工作區恢復到上次提交的內容,同時備份本地所做的修改,之后就可以正常git pull了,git pull完成后,執行git stash pop將之前本地做的修改應用到當前工作區。

git stash: 備份當前的工作區的內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前的工作區內容保存到Git棧中。

git stash pop: 從Git棧中讀取最近一次保存的內容,恢復工作區的相關內容。由于可能存在多個Stash的內容,所以用棧來管理,pop會從最近的一個stash中讀取內容并恢復。

git stash list: 顯示Git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。

git stash clear: 清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。

3.恢復某個已修改的文件(撤銷未提交的修改):

? ? ? ? git checkout------撤銷所有的文件

示例:git checkout file-name

比如修改的都是python文件,不必一個個撤銷,可以使用

$ git checkout *.py

4.撤銷某次操作,此次操作之前和之后的commit和history都會保留,并且把這次撤銷作為一次最新的提交

? ? git revert

? ?* git revert HEAD? ? ? ? ? ? ? ? ? 撤銷前一次 commit

? ?* git revert HEAD^?????????????? 撤銷前前一次 commit

? ?* git revert commit-id (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤銷指定的版本,撤銷也會作為一次提交進行保存。

? ? git revert是提交一個新的版本,將需要revert的版本的內容再反向修改回去,版本會遞增,不影響之前提交的內容

5.Please move or remove them before you can merge.

git clean? -d? -fx

其中

x? -----刪除忽略文件已經對git來說不識別的文件

d? -----刪除未被添加到git的路徑中的文件

f? -----強制運行

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,615評論 1 26
  • Git是目前最流行的版本管理系統,也是最先進的分布式版本控制系統(distributed version cont...
    pro648閱讀 5,778評論 1 17
  • 昨天在喜馬拉雅聽有聲書《不要用愛去控制》,聽的一頭霧水,似懂非懂,但是感覺這就是我想要的。 今天再聽《不要用愛去...
    嚴鈴閱讀 236評論 0 0
  • 倘若一人去跋涉 是否可堅持走遠 點點星光在背 山河凄冷 月光如水 霜降的冬日里 水凝結成一片片的眼淚 路途的痛苦 ...
    淡墨幽蘭閱讀 332評論 3 3
  • 第6章 主動學習 1 學習是什么 1)學習不是強加于你的,而是需要你主動做的事情2)僅僅掌握知識,而不去實踐,沒有...
    程冰潔閱讀 140評論 0 0