我是Git的新手,正在尝试了解与其他开发人员合作时的基本工作流程。
我们有一个开发人员推动的远程development
分支。
development
远程分支的新鲜提取以获取新的更新...
git pull origin development
在development
本地分支
添加并提交刚刚完成的新作品
git add .
git commit -m "completed x"
将更改推送到development
远程分支
git push origin development
我想知道是否有更优化和更好的方法来做到这一点?请注意,我只与一两个其他开发人员合作。
答案 0 :(得分:3)
不,没有更多的“最佳”方式(我猜你的意思是最少的步骤?)。您在上面概述的是典型git工作流所需的最小步骤数。
答案 1 :(得分:2)
假设您正在讨论与团队合作并采用某种开发 - 发布 - 部署流程,请在此处概述两个常见的工作流程:Git Workflows For Successful Deployment。
我在现有团队中使用“git flow”模式。本文讨论了一些专业人士和骗子。
答案 2 :(得分:0)
在我看来,使用自己的功能分支并稍后将其与主开发分支合并是一种更好的工作方式。如果您有主开发分支,则可以在其上创建分支并推送您的更改。
例如,如果我有一个分支“master”,如果我正在处理一个新功能Feature_A
我会做这样的事情。
git checkout -b feature_a
(我在主分支上时给出了上述命令)
我将进行更改并推送“feature_a”分支。
git push origin feature_a
现在,当我的功能完成后,管理“主”分支的同事会将我的分支合并到其中。
git merge feature_a
(上述命令在他在主分支上时给出)
即使您正在与其他几个开发人员合作,最好还是在自己的分支机构上工作,并在完全测试功能后合并它们。这将使您的版本更加整洁有序。
答案 3 :(得分:0)
# fetch everything from remote but don't modify anything local
git fetch
# checkout the development branch;
# this will automatically track the remote branch
git checkout development
# do some work and commit it
git commit -m 'whatever'
# fetch changes and rebase the development branch against the remote changes
git pull --rebase
# push changes
# (all branches by default but can be changed to just current branch)
git push
# continue to pull --rebase, commit, and push
这有一些变化,但在将本地更改推送到远程之前,您应该考虑重新设置远程提交。更成熟的OSS项目通常会坚持这一点,这是一种很好的做法。您可以重新定义默认的拉动行为(通常是合并)。