[英]Why git pull doesnt' restore deleted files?
github 上有兩個遠程倉庫:
repo_course
:課程導師定期發布新的作業骨架代碼;
repo_me
:我自己完成的作業代碼來評分;
它是這樣工作的:
git clone <repo_me url>
:在我的計算機上創建本地工作git clone <repo_me url>
,它是空的
git add remote skeleton <repo_course url>
git pull skeleton master
: 獲取骨架代碼,完成並push
送到repo_me
我的問題是:
假設我拉了skeleton.java
並重命名或刪除它,然后我再次git pull skeleton master
,它不會恢復。 這是為什么? 這似乎pull
將在第一只有一次添加新的框架文件pull
自最后一次。 它被設計成這樣有什么好處?
如果我確實需要從repo_course
恢復我刪除的文件,我repo_course
怎么repo_course
?
如果您希望重播您的工作,而不是合並他們的工作,請嘗試(使用 Git 2.9 或更高版本):
git config --global pull.rebase true
git config --global rebase.autoStash true
然后一個簡單的 git pull 將在您獲取的內容之上重放(rebase)您的本地提交(包括您的文件重命名)。
“為什么 git pull 不能恢復已刪除的文件?
因為合並會用合並的內容覆蓋本地修改(如文件重命名)。
與 rebase 不同,它會將您自己的本地工作(如文件重命名)重新設置在獲取的內容之上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.