【发布时间】:2018-07-20 05:19:48
【问题描述】:
最初我提交了错误的分支,想收回它并提交给正确的分支(master)。我想走How to fix committing to the wrong Git branch?接受的答案中建议的路线
所以我做了一个软重置,据我了解,工作副本完全保持原样
git reset --soft HEAD^
随后尝试结帐主节点
git checkout master
有人告诉我,某些本地更改会被结帐覆盖,我应该提交或存储这些更改。我选择把它们藏起来。我使用了 Git Extensions 存储命令,我认为这很简单
git stash
至少这是我现在在其他存储库上尝试时显示的内容。我知道,这不包括未跟踪的文件,但也不会清除它们。
然后我通过 Git Extensions GUI 切换到 master 分支。然后我想弹出由于一些冲突而失败的存储,这会出现。此时我注意到,缺少一个未跟踪(但被忽略)的文件夹(.\MyScripts)。还有其他未跟踪(和忽略)的文件(例如 *.log 文件)
我可以看到的区别是,MyScripts 文件夹通过 .git/info/exclude 排除,而 *.log 文件通过 .gitignore 排除
这对任何人都有意义吗?我的 MyScripts 文件夹在哪里?怎么找回来?
【问题讨论】:
-
在你切换分支之前被忽略了吗?现在是忽略了吗?意思是,在您切换分支之前和之后,.gitignore 中是否列出了该文件夹?
-
如果你的 MyScripts 文件没有被跟踪并且你没有运行 git clean,它就不会触及你的 MyScripts 文件。所以你应该在你放置它的地方找到它。
-
@LasseVågsætherKarlsen 除了 .git/info/exclude 文件之外,它从未出现在任何其他文件中。它之前被忽略了,我不知道,因为它已经消失了;-)
-
@basslo 这就是我的想法,但我看不到它
标签: git git-checkout git-stash git-reset