Git checkout分支不会更改工作目录

时间:2017-11-16 19:25:21

标签: git git-branch git-checkout

我不确定如何表达这个问题,因为我是git的新手。我的一个同事正在研究一个名为“轮换”的分支中的一个特征。我想利用他写的代码,所以我跑了git checkout rotationmasterrotation分支之间的主要区别在于旋转分支有一个额外的子目录,标题为rotation/。但是,运行git checkout后,此子目录未显示在我的工作目录中。如何让这个子目录显示出来?我做了一些谷歌搜索,发现如果这些更改与工作目录中的跟踪更改发生冲突,git不会对您的工作目录进行更改。但是,这不是这种情况,至少在rotation/子目录中是这样,因为它在master中甚至不存在。那么为什么这个子目录不显示呢?我怎么得到它?

3 个答案:

答案 0 :(得分:4)

仅仅检查分支机构是不足以远程更改您的机器。您必须使用git pullgit fetch

这是一个 useful diagram you can use as a reference

答案 1 :(得分:2)

你试过git pull origin rotation吗? 表单应为git pull <remote> <branchname>

答案 2 :(得分:2)

在以下评论中,我假设有三个存储库,您自己的本地存储库,您的同事的回购以及中央存储库。听起来你已经有了一个名为rotation的本地分支。如果您的同事将她的rotation分支推送到中央仓库,则需要根据同事的更改更新该分支:

$ git checkout rotation
$ git pull origin rotation

请注意,如果您的同事只创建了一个目录而没有添加任何文件,那么她就无法提交它。 Git不会自己跟踪目录。相反,它会跟踪文件并存储有关文件所属目录的额外信息。