2013-04-03 101 views
1

我有本地回購和遠程,說「上游」。在遠程回購的一些基本CONFIGS說「FILE1.TXT」和「FILE2.TXT」,我拉變爲分公司「some_branch」,和類型:git - 忽略提交的文件和開關分支

git update-index --assume-unchanged file1.txt 
git update-index --assume-unchanged file2.txt 

允許修改這個文件,添加一些變化與本地更改,我不想承諾。

後,在 「上游」 加入分支 「somefeature」

fetch upstream somefeature:somefeature 

,並嘗試:

$git checkout somefeature 
error: Your local changes to the following files would be overwritten by checkout: 
    file1.txt 
    file2.txt 
Please, commit your changes or stash them before you can switch branches. 
Aborting 

$git checkout -f somefeature 
error: Entry 'file1.txt' not uptodate. Cannot merge. 

然後我嘗試:

$git stash 
No local changes to save 

$git stash -u 
No local changes to save 

$git update-index --no-assume-unchanged . 
Ignoring path 

也是我試過「 - skip-worktree「,但也不成功。

那麼,我怎麼可以跳過本地更改使用「添加」或「提交-a」,但能夠改變分支,並將這個隱藏的更改應用到其他分支,不是從當前創建?

回答

1

藏匿一切嘗試:

git stash save --all --no-keep-index 
+0

但是當我回來的第一個分支,我不能恢復狀態,當我使用「git的藏匿應用」,它說「無法恢復從藏匿未跟蹤文件 「 – anber

+0

http://blog.tfnico.com/2012/09/git-stash-blooper-could-not-restore.html –

+0

有時git讓我哭... – anber