没有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