gitmerge如何只提交自己的一部分代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gitmerge如何只提交自己的一部分代码相关的知识,希望对你有一定的参考价值。

您可以使用Git的“cherry-pick”命令来实现只提交自己的一部分代码。首先,您需要查看您想要提交的每个提交的哈希值,可以使用“git log”命令来查看。然后,您可以使用“git cherry-pick <hash>”命令来提交您想要提交的每个提交。这样,您就可以只提交自己的一部分代码了。

此外,您还可以使用Git的“rebase”命令来实现只提交自己的一部分代码。首先,您需要查看您想要提交的每个提交的哈希值,可以使用“git log”命令来查看。然后,您可以使用“git rebase -i <hash>”命令来提交您想要提交的每个提交。这样,您就可以只提交自己的一部分代码了。
参考技术A gitmerge如何只提交自己的一部分代码,在master分支外,小明独立开发一个功能f1分支。f1中代码量较大且仍在更改,小明希望只将一部分文件合并到master。其他代码在以后分批次合并。在合并和开发过程中,master和f1都会不断修改。
git只支持“全部合并”。

提交文件并更改行数

【中文标题】提交文件并更改行数【英文标题】:Getting files committed and number of lines changed 【发布时间】:2015-04-21 19:40:47 【问题描述】:

我可以通过此命令获取文件更改和受影响的行以及许多其他内容

git log -p -1 --stat --color=never

但我只需要文件名并且没有受影响的行,我将如何获得它

【问题讨论】:

【参考方案1】:

我猜你在找

git diff --stat --summary -M HEAD HEAD~

它以与git merge 相同的格式输出统计信息。

或者其他两个提交没有颜色,例如

git diff --stat --summary --no-color -M  6c1dea3 e8f4b44

或者只是暂存区

git diff --cached --stat --summary -M

【讨论】:

这看起来更接近 OP 所追求的。我没有将“受影响的行数”解释为“受影响的行数”(我最初认为 OP 确实 想要显示这些行!)。所以+1。 是的,我应该输入“不”。至少。但这有点像我想要的【参考方案2】:

如果你可以忽略空行,如“How to have git log show filenames like svn log -v”中提到的,你可以使用:

git log --name-only --pretty=format: <branch name>

【讨论】:

嗯,这不是我想要的,问题中的命令给出了类似filenamewithfullpath.cpp | lines changed 的输出以及提交消息差异等......我只想要filenamewithfullpath.cpp | lines changed @tejashs 奇怪:我在该命令的输出中没有看到任何“行已更改”。仅限filenamewithfullpath.cpp

以上是关于gitmerge如何只提交自己的一部分代码的主要内容,如果未能解决你的问题,请参考以下文章

git纯净提交代码(只提交自己改过的文件)

git 怎么提交合并分支的部分代码

git --- cherry-pick用法

github如何提交自己修改的代码

如何提交自己代码到svn

gitlib还原合并请求后如何再次合并