2

我即将与一些已经知道如何使用 Git 的人一起为一个班级开始一个团队项目......我以前从未使用过它,我正在努力理解整个过程如何运作背后的概念。

假设团队中的某个人将一些样板代码上传到存储库中。我愿意fork吗?然后我自己处理它并最终push到共享存储库?如果两个人处理同一个文件并且存在一些差异会发生什么,如何解决?pull/从哪里来fetch

对不起,如果我的问题不是那么明确......我只是想确保我了解我应该如何使用 Git 的整个概念。GitHub 和 google 查询上的教程并没有帮助我很好地了解如何将 Git 用于团队项目设置。谢谢。

4

2 回答 2

1

该程序应如下所示:

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

    git 合并工具

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

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

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

希望它能消除你的困惑!

- 干杯!!!!

于 2013-11-07T10:33:33.403 回答
1

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

一般工作流程

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

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

一旦你克隆了,关于你如何使用 git 没有硬性规定,因为 git 更多的是一组工具,而不是规定某个工作流程的东西,所以问问你的同事他们是如何使用 git 的。然而,大多数时候,每个开发人员都会使用 . 从远程提取最新更改git pull,进行更改(通常在单独的本地分支中),git commit然后使用git push.

分枝

每个开发人员都可以使用git branch foo. 这太神奇了,因为它允许您将 master 和您的代码分开,直到您明确想要将它们合并在一起。要创建分支:

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

并部署一个分支:

git checkout master
git pull #Make sure that you are up to date
git merge foo
# Fix merge conflicts and commit if merge says that you have conflicts
git push
于 2013-11-07T11:01:34.537 回答