git gui 還原部分提交檔案

2022-03-10 06:33:21 字數 1244 閱讀 8567

有時候用git提交檔案的時候會一起提交了多個檔案,但是突然後悔了,想把其中乙個檔案撤銷提交,其他檔案不做修改。這個時候該怎麼辦呢?

我覺得有很多辦法,比如可以先checkout到上次的提交,然後複製要撤銷修改的檔案,然後再checkout到最新的版本,再手動複製貼上。。這樣相當於手動去舊版本copy了乙個檔案覆蓋新版本。這樣做其實也不難,但是比較煩。。。目錄多的時候找檔案比較麻煩,另外要撤銷的檔案多的時候也比較坑爹。。。這個時候其實可以利用git自帶的功能來完成任務的。

cherry-pick用於把另乙個本地分支的commit修改應用到當前分支。

但是經過我實驗發現這個命令其實並不止侷限於2個不同的分支,即使是同乙個分支也是能做到的。

所以說我們的目的怎麼達到呢?在最新的版本上利用cherry -pick 命令去把上次提交的合併到當前版本就ok了。

現在在版本1提交了2個txt檔案,1.txt和2.txt

修改2個檔案以後再提交

現在我想把1.txt恢復到上次提交,2.txt不變怎麼辦呢?

檢視master分支歷史以後,在上個版本上(init)上右鍵選擇cherry -pick this commit

然後gui會詢問你,這個commit已經在分支上了,是否要繼續。。。

選擇是以後,會提示你有衝突,這和我們想的一樣,因為上個版本的txt和最新版本的txt肯定不一樣嘛。。。

然後就到了解決衝突的介面。。。

當前local版本是最新的版本,remote的版本是cherry -pick過來的commit版本,所以我們要還原1.txt的話就在1.txt的正文裡選擇remote的版本,在2.txt裡選擇local的版本

然後再提交這次commit就ok了。。。這次commit相當於是做了乙個merge。。。

git只提交部分修改的檔案 提交指定檔案

專案開發中,經常會有這種情況 本地做了很多修改 可是提交 時 只提交部分 這時會用到以下命令 git status 檢視倉庫狀態 git add 需要提交的檔名 新增需要提交的檔名 加路徑 參考git status列印出來的檔案路徑 git stash u k 忽略其他檔案,把現修改的隱藏起來 這樣...

關於SVN提交時部分檔案失敗導致提交失敗

eric 說 svn,一次提交多個檔案,有乙個檔案本地已經old了,結果所有的提交都失敗。rock 說 恩,是啊。eric 說 為什麼不把沒問題的成功了呢?rock 說 可能是為了獲得 原子性 行為吧。對於一次commit,要麼成功,要麼失敗,不存在 60分 的commit。eric 說 這裡有原子...

mysql bin檔案還原

1.幸好本人養成了個好習慣,無論改動的大小我都會先備份乙份資料 rw r r 1 root root 2473664 07 30 09 38 terminfo bak0730.sql 找到了,果然是7月30號早上09點38分左右備份的,幸好有備份啊,要不然就悲催了.先把備份的導到測試資料庫上,表名改...