Git支持对本地和远程仓库的管理,这使得计算成为一种更好的体验。远程仓库是在服务器上管理的,而本地仓库是在机器上维护的,可以在没有互联网的情况下访问。Git提供了两种流式支持:一种是上游,另一种是下游;上游指的是你克隆你的代表的地方,而下游则允许你将你的工作与其他作品整合。
由于Git是分布式的版本控制软件,以平行方式工作可能会获得混乱的状态,因为有几个贡献者在一个项目上做修改。因此,建议远程和本地仓库必须同步,以避免出现任何意外,比如你可能需要退回到以前的一些版本,这可能是预算和耗时。
当你在一个环境中工作时,有时你必须在远程进行修改,而你希望同样的修改也必须存在于你的本地版本库中。考虑到同步的重要性,我们准备了这个指南来演示保持本地版本库与远程版本库相同的步骤。
如何使本地版本库与远程版本库相同
本节列出了持续更新本地版本库的步骤;每当远程版本库提交更改,可以按照本节的步骤在本地版本库中应用这些更改。
第1步:克隆你的远程仓库到本地
我们以 GitHub 项目为例,想把这个项目克隆到我们的机器上。为此,请按照下面提到的命令,将远程仓库克隆到指定的目录中:(在你的情况下,项目的链接会有所不同)
$ git clone https://github.com/marcusanth/Bat-inspired-test-case-prioritization.git

一旦项目被克隆,将终端的工作目录改为你克隆项目的目录。

注意:如果你已经克隆了项目,你可以直接跳到步骤2。
第2步:添加上游为远程
在git项目中,upstream指的是你想克隆的仓库。这一步是添加一个新的远程,从那里获取和同步修改。
首先,通过发出下面的命令,检查可用的远程列表。
$ git remote -v

从输出中可以看出,只有 "origin"是一个远程;你可以通过发布下面的命令来添加一个新的远程:我们用这个命令添加了 "linuxhint"作为一个新的远程。
$ git remote add linuxhint https://github.com/marcusanth/Bat-inspired-test-case-prioritization.git

上图中的输出显示,新的远程 "linuxhint"被成功添加。
第3步:使原点与 "linuxhint "远程相同
这一步将从 "linuxhint"获取内容,并且这些变化将与 "origin"匹配:使用下面提到的命令来执行上述操作。
$ git fetch linuxhint

第4步:导航到主分支,合并linuxhint主分支
从远程获取内容后:你必须在主分支上;如果你不在,你可以用下面的命令进入主分支;在我们的例子中,我们已经在主分支上了。
$ git checkout master

之后,你必须用下面的命令来合并上游远程(在我们的例子中是linuxhint)的主干分支。
$ git merge linuxhint/master

如果你正在维护本地和远程仓库,那么你一定已经执行了步骤1和步骤2。前两步是一次性的工作;之后,你每次只需遵循第3步和第4步来获取和合并内容。
总结
在开发和维护大型项目的过程中,Git已经成为了一个顶级的趋势性版本控制系统。Git的主要特点是按时间跟踪版本,确保存储在仓库中的数据的隐私性,并通过创建远程和本地仓库提供在线和离线访问。然而,我们也建议保持本地仓库与远程仓库相同;这样,保存在两个仓库中的内容就会保持一致。在这个描述性指南中,我们提供了一个分步骤的程序来同步本地存储库和远程存储库。此外,如果在本地版本库上进行了任何添加,而这些添加在远程版本库上是不可用的,这些变化将被删除,以保持数据的一致性。