2014-02-19 104 views
0

全部, 我刚刚与git发生了重大事故,我对发生了什么/我做错了什么感到困惑。Git存储和分支

我有两个文件,我一直在努力:classA.cppclassA.h。我需要与同事合并。所以...

git stash 
git pull origin master 

现在我有了我的同事的最新工作。我从存储中获得了更改。

git stash pop 

在这一点上,我想我应该正确使用git,所以我努力做出一个新的分支。

git branch MyChange 
git checkout MyChange 
git status 

Git状态显示我的两个(unstaged)修改文件。

git checkout master 
git status 

Git状态显示(再次)两个未分离的修改文件。

git checkout -- . 

Git状态显示修改过的文件已被倒回。

git checkout MyChange 

修改后的文件已被删除!?!?有没有搞错!?!我的想法出错了,我认为改变分支不会影响其他分支。

回答

1

你做不是更改分支,你确实改变了你的工作树。没有添加到暂存区域或提交的新文件/更改不会被跟踪,也不会被git保存。

+0

虽然文件被跟踪。已修改但未提交。 – Constantin

+0

所以我不得不至少要git添加[修改文件],然后切换回来?在那之前,两个分支都指向历史上的同一个点? – Constantin

+0

@Constantin除非你以某种方式保存你在git中的改变,否则你的工作树是不稳定的,因为git不知道这些改变。 – TimWolla