2016-05-31 4 views
0

私はgit(svnから来たもの)が比較的新しいです。git stash popはマスターで決して作成されなかったファイルのために "私たちによって削除されました"を印刷します

私は、ブランチ上のファイルを編集スタッシュを実行して(このファイルを持っていません)マスタにスタッシュを適用しようとすることを主に、次の手順:

user1:~/gittest$ ls 
user1:~/gittest$ git init 
Initialized empty Git repository in /home/user1/gittest/.git/ 

user1:~/gittest$ touch file1 
user1:~/gittest$ git add file1 
user1:~/gittest$ git commit -m "committing file1" 
[master (root-commit) 7c29335] committing file1 
1 file changed, 0 insertions(+), 0 deletions(-) 
create mode 100644 file1 

user1:~/gittest$ git checkout -b br1 
Switched to a new branch 'br1' 

user1:~/gittest$ touch file2 
user1:~/gittest$ git add file2 
user1:~/gittest$ git commit -m "committing file2" 
[br1 b565401] committing file2 
1 file changed, 0 insertions(+), 0 deletions(-) 
create mode 100644 file2 

user1:~/gittest$ echo "updated.." >> file2 
user1:~/gittest$ git add file2 
user1:~/gittest$ git stash 
Saved working directory and index state WIP on br1: b565401 committing file2 
HEAD is now at b565401 committing file2 

user1:~/gittest$ git checkout master 
Switched to branch 'master' 

user1:~/gittest$ git stash pop 
CONFLICT (modify/delete): file2 deleted in Updated upstream and modified in Stashed changes. Version Stashed changes of file2 left in tree. 

user1:~/gittest$ git status 
On branch master 
Unmerged paths: 
    (use "git reset HEAD <file>..." to unstage) 
    (use "git add/rm <file>..." as appropriate to mark resolution) 

     deleted by us: file2 

no changes added to commit (use "git add" and/or "git commit -a") 
を行います

私の質問は、なぜmasterがfile2を作成したことがなく、決して削除されなかったので、gitが "私たちによって削除されました"というメッセージを表示するのです。

これは誤解を招くメッセージですか、またはgitの仕組みについて何か不足していますか?

答えて

0

これは誤解を招くメッセージです。それは削除されたと言っていますが、それは決してそこには存在しませんでした。以前にあったファイルと今削除されたファイル、またはブランチの観点から見ると、まったく存在しなかったファイルを区別しません。

file2は実際にあなたのgitリポジトリの既知のファイルなので、ある意味ではmasterをチェックアウトすると削除されてしまいます。

+0

しかし、この動作は避けられませんか? gitでマージを行う方法(例えば、このファイルが存在するかどうかを知る方法がないため)を修正することは不可能でしょうか? –

+0

私はそれを修正することができると仮定し、おそらくそれはgitの最新のバージョンですが、私はgitのソースコードに精通していない... –

関連する問題