2017-08-25 38 views
1

我有一個回購(稱爲原始回購upstream),因爲必須做一些清理,但我想保持我工作的文件夾johannesGit-我如何刪除上游回購但不是從我的叉

於是我就跟着去了,並刪除特定文件夾

git rm -cached -r johannes/ 
git commit -m "deleted my folder so it doesn't bother you anymore." 
git push upstream 

我想與聲明上游回購在我推的文件夾應該還是在我自己的叉子可用。但是它是去那裏太...

  1. 什麼是刪除原回購文件,而無需他們在叉刪除的最佳方式?這甚至可能嗎?

  2. 我怎樣才能恢復我的叉回購刪除的文件夾? (我仍然有它在本地,但所有的歷史將消失,如果我只是推一遍)

回答

2

爲了不混淆的推動,我會保持兩個獨立的克隆:

  • 原回購的一個

這樣的一個,你在一個(及其聯繫人推)做什麼都不會影響其他回購(包括本地和遠程的)

關於你的叉子,如果你只是做一個提交記錄是刪除,你可以(如果你沒有任何正在進行的當前軟木):

git reset --hard @~ 
git push --force 

(假設你是在正確的分支,並且該分支設置爲被推向origin

如果自然後推作了一次提交,但不介意重寫你的叉子的歷史,在前叉的不同本地克隆做到這一點

git clone https://github.com/<you>/<yourFork> yourFork2 
    cd yourFork2 
    git reset --hard <last_commit_where_folder_was_present> 
    git --work-tree=../yourFork add . 
    git commit -m "Add work since last_commit_where_folder_was_present> 
    git push --force 
+0

我在此期間做了一些工作,只想恢復遠程文件夾,但將本地工作副本保留爲 – johk95

+0

@ johk95「某些工作」,因爲「我修改了文件但尚未提交」?或者因爲「我從那以後做了幾次提交」? – VonC

+0

不幸的是。我還從受影響的文件夾推送文件... – johk95

相關問題