使git分支保持最新的推荐工作流
我有两个目标,我需要一个工作流程来实现它们,同时使用我的功能(master是一个企业github repo) 目标:使git分支保持最新的推荐工作流,git,github,version-control,Git,Github,Version Control,我有两个目标,我需要一个工作流程来实现它们,同时使用我的功能(master是一个企业github repo) 目标: 随时更新我的分支机构 能够看到我使用git diff和git show所做的更改 我是github的新手,但我尝试了几个场景来实现这一点,它们对我没有帮助 最初,我创建一个新分支(跟踪原始/主分支)并更改代码 我提交更改并使用git push origin将此更改发布到github 然后我创建一个公关,让人们评论 我得到了很好的反馈,在第一次提交的基础上进行了代码更改和提交
- 随时更新我的分支机构
- 能够看到我使用
和git diff
git show所做的更改
git push origin
将此更改发布到github
然后我创建一个公关,让人们评论
我得到了很好的反馈,在第一次提交的基础上进行了代码更改和提交
如何使我的分支与源/主分支保持同步
我试着通过git pull
合并来更新我的本地分支。一切正常,但现在如果我做了git show
我将看不到我的更改,我将看到最新的主提交
我尝试通过git pull--rebase重新定基来更新我的本地分支。我可以使用git show
查看我的更改,但是我的本地和远程分支不同步,我必须使用git push origin-f
用第二次更改更新我的github PR
我愿意听取建议,谢谢 你所做的是正确的方法。
pull
和pull--rebase
之间有很大的区别。它将执行git fetch和git merge origin/master操作<代码>git获取和&git重新设置基源代码/主代码。这两种方法都是正确的。区别在于树的历史记录,在大多数情况下,公司的政策是使用什么
使用rebase,您将始终更改历史,并且需要强制推送。使用“合并”,您不会更改历史记录,但最后一次提交是合并
不要期望只有一个提交将被推送,因此差异不应该只针对一个提交,而是针对整个分支。如果您只需要查看差异,可以运行:
git show HEAD~1
或
git show HEAD~4..HEAD~1
查看最后几次提交中除最后一次(合并)之外的所有更改
或者你可以试试这样的
git diff --boundary HEAD~1..origin/master
注:当更多的人在同一个分支上工作时,重设基础和强制推送可能非常危险。仅当您确定自己是唯一在分支上工作的人时,才强制推送
评论也可能有一些问题。不确定Github是如何实现的,但Gitlab不会在强制推送后显示完全更改或删除的行的注释。您提到的所有内容听起来都是正确的。如果您唯一的问题是如何查看文件从一个提交到另一个提交的差异,我是否可以建议您为您的IDE获得一个Git插件?例如,IntelliJ可以很好地让您将文件与同一分支中的任何提交进行区分,甚至与其他分支进行区分。比命令行好得多。答案有助于解决问题吗?如果是,您可以将其标记为答案。它将帮助其他有类似问题的人。