2017-04-01 43 views
1

我在做一個i交互rebase並試圖從我的歷史記錄中刪除所有binobj文件夾。我回購的文件夾結構是這樣這是gitignore文件的正確方法嗎?

MyRepo 
    MyClass 
     . 
     . 
     bin 
     obj 
     . 
    MyTestClass 
     . 
     . 
     bin 
     obj 
     . 
    . 
    . 
    . 

我修改了我的第一次提交,並與內容

/MyClass/bin 
/MyClass/obj 
/MyTestClass/bin 
/MyTestClass/obj 

增加了.gitignore並把它放在MyRepo

然而,當我去犯我仍然看到我不想在那裏的文件(.exe.pbd等)

+1

那麼,你去提交文件的第一個地方添加和修改只有這一變化?那麼....你還必須將這些文件(在同一修改行動中)記錄下來,以便它們能夠繼續前進。使用cherry-pick(...或者使用filter-branch)從原始分支中複製所有以下修訂,然後就像那些分支上從不存在的文件一樣。 – eftshift0

+0

@Edmundo你能提供一系列命令的大綱來做到這一點嗎?我想我從'git rebase -i --root'開始,然後將第一個提交改爲'edit'而不是'pick',然後一旦rebase開始,我做'git commit --ammend',添加'.gitignore '文件,對'gitignore'下的文件運行'git rm',然後提交? – user7127000

+0

aaahhh ...無法跟隨。這是我會做的。首先,在添加文件的修訂版上設置兩個分支,並簽出要更正內容的分支:'''git branch fix-start ; git checkout -b更正分支'''。現在,修改.gitignore文件,使其具有正確的值(如果不是這樣),並刪除添加了「錯誤」的文件(如果要保留它們,可以使用'''git rm --cache'''你的工作樹)。現在''''git commit --amend --no-edit'''這樣你就可以得到一個「乾淨的修正版本」。下一條消息更多 – eftshift0

回答

0

忽略文件的最佳方法是使用http://gitignore.io 二是要了解您放入的所有模式都將忽略未提交(未跟蹤)的文件。一旦錯誤完成,git rm --cached是你的朋友。

相關問題