Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果您一直在使用git merge-origin/master,git重置——软源代码/主代码会失败吗?_Git - Fatal编程技术网

如果您一直在使用git merge-origin/master,git重置——软源代码/主代码会失败吗?

如果您一直在使用git merge-origin/master,git重置——软源代码/主代码会失败吗?,git,Git,当我在工作中提交PRs时,有时只有1次而不是30次提交会更干净(这都是虚荣)。所以我通常会这样做: git add . && git merge origin/master git commit -am "abc" # make more changes git add . && git commit -am "abc" git merge origin/master 然后,为了使事情成为一个1提交,我可以尝试: git reset --soft origin/

当我在工作中提交PRs时,有时只有1次而不是30次提交会更干净(这都是虚荣)。所以我通常会这样做:

git add . && git merge origin/master
git commit -am "abc"
# make more changes
git add . && git commit -am "abc"
git merge origin/master
然后,为了使事情成为一个1提交,我可以尝试:

git reset --soft origin/dev
问题是我觉得这在历史上还不够。因为我的合并提交。也许唯一正确的方法是:

sha="$(git merge-base --fork-point HEAD origin/master)"
git reset --soft "$sha"
但是我感觉merge base命令只能作为origin/master和我的分支之间的最新合并提交返回

git reset
将当前磁头重置为给定状态

git reset --soft <commit>
将当前磁头重置为给定状态

git reset --soft <commit>

即使您可以实现您想要的,我建议您不要使用单一的mammoth提交。如果信息变得至关重要,原子提交可以很好地解释更改的上下文和原因。即使您可以实现您想要的,我建议您不要使用单个mammoth提交。如果信息变得至关重要,原子提交可以很好地解释更改的上下文和原因。