使用远程 Git 存储库的通常程序是什么?

使用远程 Git 存储库的通常程序是什么?

关于最佳实践的一个稍微开放的问题,我可以找到很多关于 git 的功能指南,但没有太多关于标准操作顺序等的信息:

使用远程存储库的标准/好方法是什么,特别是进行更改并将其全部返回到远程主存储库。有人可以提供他们在执行此操作时通常遵循的程序的分步列表吗?例如:

  1. 克隆仓库
  2. 创建头部的新本地分支
  3. 在本地进行更改并提交到本地分支
  4. ...

答案1

以下是我的做法。我通常自己处理远程存储库,因此欢迎提出意见,尤其是来自使用类似工作流程协作的人的意见。

在本地计算机上:克隆远程存储库。

git clone ssh://user@master:path/my_rep
cd my_rep

克隆的存储库会自动创建指向主存储库的“源”链接。在开始工作之前,最好先提取最新更改并创建本地分支:

git pull origin --rebase
git checkout -b local_mybranch
(... work ...)
git commit -a
(... work ...)
git commit -a

在将更改推送到主分支之前,您始终可以提取主分支更改,并将工作分支重新定位到该分支上。我经常使用的一个技巧是使用 -i 选项进行重新定位。这样,您就可以将您的提交粘贴到单个大型提交中。

git checkout master
git pull --rebase
git checkout local_mychanges
git rebase -i master

然后将你的更改推送到远程: git push origin local_mybranch:mybranch_on_remote

在远程存储库上。您(或其他人)可以合并主分支中的更改。

git checkout master    
git merge mybranch_on_remote

答案2

因为我的项目通常是我想在本地开发并在远程服务器上测试的 Web 应用程序,所以我几乎总是在远程服务器上保留所有分支的最新副本。唯一的例外是我在进行非常模糊的概念验证测试。

因此,如果您从中提取的存储库称为 origin 并且您在本地创建的分支称为 mybranch,则我的工作流程是:

1)从 origin 克隆仓库

2)签出新分支

3)将分支推送到原点,并将其设置为考虑上游版本:

git push -u origin/mybranch

这意味着您在服务器上保留每个分支的规范版本,这有几个优点。

您可以轻松地在我的代码托管网站上查看版本历史记录,并且可以将测试分支从远程拉到暂存服务器上进行测试。

这也意味着在您的项目上工作的任何其他人都可以轻松查看、签出和跟踪该分支的合并。

如果您已将分支推送到服务器但未将其设置为考虑远程复制其上游,请使用以下命令:

git branch --set-upstream-to=origin/mybranch

相关内容