我有很多未提交的更改,这是不好的做法。 我试图慢慢地做出所有重要的改变。
我试图在分支机构之间重新组织工作,所以我做了(从我的主人开始进行更改):
input.stream()
.flatMap(e -> e.getValue()
.stream()
.map(v -> new MyObject(e.getKey(), v)))
.collect(Collectors.toCollection(LinkedList::new));
用于多个分支。 然后我发现我的起始大师在我开始时没有更新,所以我已经完成了
git checkout -b Feature1
git commit somestuff -ma'msg'
git push remote/Feature1
git checkout -b Feature2
git commit otherstuff -ma'msg'
git push remote/Feature1
...
然后我应该更新并清理干净。
然后我修改了git fetch
git checkout Feature1
git merge origin/master
git checkout Feature2
git merge origin/master
...
中的一些内容。现在我想切换到Feature2
。但它说
Feature1
但我刚刚承诺并将我的更改推送到you have local changes in X; you can't switch branches
到X
。
我做错了什么?
如果我这样做
Feature2
git diff X > atextfile
显示整个X已更改,但如果我比较标记为的两个版本 - +它们是相同的
atextfile
仅返回尾随空格差异。如何摆脱那些?
答案 0 :(得分:1)
git diff X
会向您显示已更改的内容,包括已更改的文件X,git checkout -m Feature1
将显示更改。
如果您想将此更改移至Feature1,您可以使用合并标记进行结帐,该标记会合并更改{{1}}。