Git命令解释:push,pull,fork,merge

时间:2013-11-07 10:18:09

标签: git version-control github git-push git-pull

我即将开始一个班级的团队项目,其中一些人已经知道如何使用Git ...我以前从未使用过它而且我很难理解整个过程如何工作的概念

假设团队中有人将一些样板代码上传到存储库。我想要fork吗?然后自己完成它并最终push到共享存储库?如果两个人在同一个文件上工作并且存在一些差异会发生什么,这是如何解决的? pull / fetch在哪里进来?

很抱歉,如果我的问题不那么明确......我只是想确保我得到了如何使用Git的整个概念。关于GitHub和谷歌查询的教程对于让我很好地了解如何使用Git进行团队项目设置并没有那么有用。感谢。

2 个答案:

答案 0 :(得分:1)

程序应如下:

  • 拉文件
  • 编辑
  • 提交它(它提交到您的本地存储库)
  • 再次拉动它(如果有任何冲突,你会被通知)在这种情况下你可以解决它执行下面的命令(你的存储库工作文件夹上的GitBash):

    git mergetool

它将运行您在.gitconfig文件中配置的合并工具

之后,您可以推送您的更改。

因此,在推送更改之前,您需要先提取更改,以便解决发生的任何冲突,然后推送更改。

希望它能解决你的困惑!!

- 干杯!!!!

答案 1 :(得分:1)

没有git fork命令,也许你想要git clone?对于这个答案的其余部分,我假设您的意思是git clone,因为这是一个下拉回购本地副本的命令。

一般工作流程

通常会发生的事情是有人会在某个服务器上创建一个git repo(在某个地方的服务器上手动使用git init --bare或者使用github为你管理它)你将全部用作中心服务器。这是远程仓库,默认情况下称为原点。如果由于某种原因你丢失了你克隆的原始repo,你可以随时将/ path /复制到/ local /目录,然后让其他人从中克隆。你的同事可能已经这样做了,你必须问他们。

设置远程仓库后,每个开发人员都可以克隆它。要克隆一个repo,在一个合理的位置创建一个空目录,安装git然后运行git clone protocol://user@urltorepo.com /path/to/local/directory/以将repo的本地副本拉下来并将其粘贴到/ path / to / local /目录中。完成此操作后,您将拥有一个完全独立的仓库,它们在克隆时反映了仓库的状态。然后,您将git commit进行更改,git push将其更改为遥控器,然后其他人可以git pull您的更改。

一旦你克隆了,关于你如何使用git没有硬性规定,因为git更多的是一套工具,而不是决定某个工作流的东西,所以问你的同事他们如何使用git。但是,大多数情况下,每个开发人员都会使用git pull从远程数据中获取最新更改,进行更改(通常在单独的本地分支中),git commit然后使用{{1}来推送这些更改}}

分支

每个开发人员都可以使用git push创建本地分支。这是一种幻想,因为它允许您将master和代码分开,直到您明确想要将它们合并在一起。要创建分支:

git branch foo

部署分支机构:

git checkout master
git checkout -b foo #This will create the foo branch and then change to it
# Do some work
git add .
git commit #This commits the changes you have made to foo