Ich bin relativ neu zu Git (von Svn kommt).Git Stash Pop druckt "von uns gelöscht" für Datei, die nie auf Master erstellt wurde
ich die folgenden Schritte aus, die in erster Linie, dass ich eine Datei auf einem Zweig bearbeiten, einen Vorrat ausführen und dann versuchen, das Versteck an den Master anzuwenden (die diese Datei nicht hat) .:
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")
Meine Frage ist, warum git die Nachricht "von uns gelöscht" druckt, da Datei2 niemals auf Master erstellt und somit nie gelöscht wurde.
Ist dies eine irreführende Nachricht, oder fehlt mir etwas über die Art, wie git funktioniert.
Aber ist dieses Verhalten unvermeidbar? Wäre es unmöglich, es zu reparieren, da die Verschmelzung in git durchgeführt wird (z. B. hat es keine Möglichkeit zu wissen, ob diese Datei vorhanden war oder nicht)? –
Ich würde annehmen, dass es repariert werden kann, und vielleicht ist es für neuere Version von Git, aber ich bin nicht vertraut mit dem Git-Quellcode ... –