我从Git开始,我不完全了解分支机构的工作原理。 我开始了一个基础项目,我做了以下工作:
我必须要理解的问题是,当我切换到那些不同的分支时,我真的看不到我的Windows命令行有什么区别?甚至去我的Windows文件夹,所有文件仍然存在,所以我怎么知道哪个文件属于哪个分支?
更重要的是,我切换到分支' wip_56_pushed' ,这是在对文件7和8执行任何操作之前创建的。然后我从该分支执行了git push --set-upstream origin wip_56_pushed
不知何故,文件7和8 只处于本地/主人的提交状态,并且' wip78_committed' 也被推入了远程起源/主人?我期待这个' wip_56_pushed'分支机构不知道新文件?
答案 0 :(得分:0)
git push --set-upstream origin wip_56_pushed
不会将wip_56_pushed
推送到origin/master
,而是推送到origin/wip_56_pushed
。当您之前将文件7和8添加到master并且可能推送它时,它们当然存在于origin/master
中。如果您想将本地wip_56_pushed
推送到origin/master
,请执行git push --set-upstream origin wip_56_pushed:master
。
关于哪些文件属于哪些分支,这很简单。如果您已签出分支X,则所有未跟踪的文件(git status
)都是您已签出的分支的一部分。
答案 1 :(得分:0)
您是如何从一个分支切换到另一个分支的?你用了很多次推..这个时候可能不需要,但是没有提到结账甚至单次,主要用于在分支之间切换..你可以分享以下输出
1)git reflog
2)git ls-tree --name-only master
3)git ls-tree --name-only < branch name >
(分享每个分支的结果)