Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.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
使用SourceTree和Git bash在Git中推送选定的提交?_Git_Atlassian Sourcetree - Fatal编程技术网

使用SourceTree和Git bash在Git中推送选定的提交?

使用SourceTree和Git bash在Git中推送选定的提交?,git,atlassian-sourcetree,Git,Atlassian Sourcetree,假设我在git中按顺序提交了五次,比如1->2->3->4->5 我知道可以使用git bash推送选定的提交,比如提交1和2,这里将对此进行解释 但是,我想知道是否可以使用Atlassian SourceTree?这将是非常方便的功能 另一个问题:如何使用git bash仅推送提交2和4,而不影响其他提交?我知道这可以通过重新排序提交来实现?但是,我想知道这是否可以在没有任何重新排序的情况下完成。看起来在源代码树中不支持它 请参见此首先,与Resident饼干建议的一样,SourceTree不

假设我在git中按顺序提交了五次,比如1->2->3->4->5

我知道可以使用git bash推送选定的提交,比如提交1和2,这里将对此进行解释

但是,我想知道是否可以使用Atlassian SourceTree?这将是非常方便的功能


另一个问题:如何使用git bash仅推送提交2和4,而不影响其他提交?我知道这可以通过重新排序提交来实现?但是,我想知道这是否可以在没有任何重新排序的情况下完成。

看起来在源代码树中不支持它
请参见此

首先,与Resident饼干建议的一样,SourceTree不支持此功能,但已为此创建了Jira票证。您可以跟踪票证以确定何时将其添加到SourceTree中

同时,SourceTree中有一个很好的特性,可以与git bash一起方便地解决这个问题。首先,您需要对提交进行重新排序。单击Repository->Interactive Rebase。它将为您提供一个提交列表,您可以对提交进行重新排序,使2和4位于1、3和5之前。然后,您可以在gitbash中发出以下命令

$ git push origin master~3:master

此命令将头设置为三次提交之前,并将其推送到远程主机分支,以便只将2和4推送到远程主机。

从2013年起,git
git
不推送任意提交时没有此功能。您必须推送一个引用,即分支或标记,以确保该引用之前的整个图形都存在并在远程中完全连接。存储库不仅仅是用于与其他提交没有连接的随机提交的存储。