如何从master克隆,从而通过远程分支以及本地目录进行更新?

时间:2019-03-30 07:27:25

标签: git gitlab

对于git来说,我有点困惑,git clone为您提供了从主存储库到本地系统的最新代码,但是我有一个分支说x,如果不是这样的话像本地系统一样进行更新,当我稍后从本地推送到分支机构时,将导致冲突。如果是,那我该如何正确克隆?

我已经尝试过git clone <master>,但不确定分支x是否也在更新。

1 个答案:

答案 0 :(得分:1)

首先,欢迎使用Git :-)分支和存储库之间似乎有些混乱。

git clone将允许您在计算机上创建现有存储库的新副本。

语法是:git clone <path/or/url/of/the/repository>不是git clone <branch-name>,因为您似乎很困惑。

所以,是的,当您进行克隆时,您将从本地存储库中的主分支以及远程存储库中获取最新代码。

这时,您的项目本地副本知道在其远程克隆对象(名为origin)上还有另一个分支x。此时,如果您创建修改并在本地master上提交,然后再推送它,它将更新远程master分支,但是x将保持不变。

如果您要对x进行更改,则首先需要执行checkoutgit checkout x),这将使本地文件的状态与更改相同与x中的提交一起发生。然后,您可以更改文件,提交它们并推送,这将更新远程x

如果要将远程分支的最新更改获取到本地克隆,则有两种情况: 要么该分支在本地不存在,然后只需要git checkout thebranch即可在本地创建它(处于远程状态)。

或者分支在本地存在并且已过时。在这种情况下,您首先需要“在上面”(git checkout thebranch),然后提取最新版本:git pull

如果远程发生更改,Git将不会自动知道。您需要手动更新您的遥控器,以使用git remote update检查更改,从而更新您对远程存储库状态的了解。