GIT:主人

时间:2016-12-14 12:07:26

标签: git github branch

我很好,我忘记了如何GIT。我意外地从我的分支中删除了所有未跟踪的文件,唯一的方法是再次克隆repo。在用master分支完全清理repo后,我开始创建新的分支......

...但正如我所提到的,我可能忘记了如何GIT。

我正在通过

创建分支
git checkout HEAD~1 -b personal/$USER/featureX2

然后

git pull origin master

在该分支上的脚本中做了一些更改并将它们保存在eclipse中(然后你在git status中看到了应该添加到提交的红色字体),我不能在没有提交的情况下结账回主人它。但...

我在没有问题的情况下结帐,更多的是,在我看到的git状态下,未保存的更改也在主分支上。

我做错了什么?或者,如果我不能在不做出改变的情况下结账到另一个分支机构?

2 个答案:

答案 0 :(得分:1)

实际上,当大部分时间没有进行更改时,允许从一个分支机构检出另一个分支机构,但可能存在冲突。 如果你成功,那么因为你的工作目录不干净,你可以看到每个分支的变化 一旦在一个分支上提交它们,您将只看到该分支上的更改〜

答案 1 :(得分:0)

Git的行为符合预期。 Git不跟踪Untracked文件(红色字体......)。因此,在尝试签出master时,它会阻止因为相同的文件/行(冲突)中可能已更改。

checkout执行one branch to another时,未跟踪的文件会随之而来。

您可以commit更改save未跟踪的文件(stash)。

$ git checkout branch-1
# do some changes here

$ git add .
$ git stash save 'my-temporary-change'  # stash -> save the changes in temporary box
# now untracked files are gone and save to stash stack

$ git checkout master

# if you need to take the temporary changes, just by 'stash pop' you can get them back in any branch
$ git stash list       # see all stash stack list
$ git stash pop        # pop the last one from stash stack, pop = apply + drop