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の仕組みについて何か不足していますか?
しかし、この動作は避けられませんか? gitでマージを行う方法(例えば、このファイルが存在するかどうかを知る方法がないため)を修正することは不可能でしょうか? –
私はそれを修正することができると仮定し、おそらくそれはgitの最新のバージョンですが、私はgitのソースコードに精通していない... –