如何把Git的某个commit提交到指定的本地分支和远程分支

如题所述

Git的分支合并主要依赖于checkout命令和cherry-pick 命令。cherry-pick就是从不同的分支中捡出一个单独的commit,并把它和你当前的分支合并。如果你以并行方式在处理两个或以上分支,你可能会发现一个在全部分支中都有的bug,如果你在一个分支中解决了它,你可以使用cherry-pick命令把它commit到其它分支上去,而不会弄乱其他的文件或commit。

1.例子:如我的Git文件在H:盘下,/h/myfirstproject,该目录中有三个分支:test分支,newbranch1分支和mater分支。如果想把test分支的某个commit合并到master,需要经过下面的步骤:

    执行git log -3 --graph test,查看test分支下的commit:    æ³¨ï¼šcommit 后面的hash值代表某个commit,这里把”2e1ada53819d46557b24ee7376dc61d37a06939d“这个commit提交到master。

    执行git checkout master,切换到master分支。

    执行 git cherry-pick 2e1ada53819d46557b24ee7376dc61d37a06939d,该commit便被提交到了master分支。

    到此,”2e1ada53819d46557b24ee7376dc61d37a06939d“这个commit便被提交到了master分支。

    2.例子:把本地的test分支的某个commit提交到远程testdevelop分支。

    从远程分支 checkout å‡ºæ¥çš„本地分支,称为跟踪分支(tracking branch)。跟踪分支是一种和远程分支有直接联系的本地分支。在跟踪分支里输入Git push,Git
    会自行推断应该向哪个服务器的哪个分支推送数据。反过来,在这些分支里运行git pull ä¼šèŽ·å–所有远程索引,并把它们的数据都合并到本地分支中来。

    在克隆仓库时,Git 通常会自动创建一个名为 master çš„分支来跟踪 origin/master。这正是git push å’Œ git pull ä¸€å¼€å§‹å°±èƒ½æ­£å¸¸å·¥ä½œçš„原因。当然,你可以随心所欲地设定为其它跟踪分支,比如origin ä¸Šé™¤äº† master ä¹‹å¤–的其它分支。刚才我们已经看到了这样的一个例子:git checkout -b [分支名]
    [远程名]/[分支名]。

    1.首先新建一个临时分支,并把临时分支与远程分支关联。

    git checkout -b tempbarch --track origin/testdevelop

    2.此时已经切换到了tempbarch分支。再执行:git log -3 --graph test,查看test分支下的commit:

    3.执行git cherry-pick f6cb436ff5a010cdd72dc2c8ff018db8e8832271 即可把”f6cb436ff5a010cdd72dc2c8ff018db8e8832271“这个commit提交到tempbranch分支。

    然后再通过Tortoise客户端的push命令,即可把该commit提交到远程testdevelop分支。

    4.切换到任何非tempbranch分支,如master分支,执行git branch -d tempbranch,即可把tempbranch分支删除掉。

温馨提示:内容为网友见解,仅供参考
无其他回答

如何把Git的某个commit提交到指定的本地分支和远程分支
首先确保你的本地git工作目录下已经增加了远程分支了 使用 git remote -v 查看。如果没有则先使用 git remote add 命令添加一个(假设名为origin,分支为master)。如果已经有了,则使用 git push origin master命令提交当前工作目录下的分支到远程master分支 ...

如何把Git的某个commit提交到指定的本地分支和远程分支
2.例子:把本地的test分支的某个commit提交到远程testdevelop分支。从远程分支 checkout 出来的本地分支,称为跟踪分支(tracking branch)。跟踪分支是一种和远程分支有直接联系的本地分支。在跟踪分支里输入Git push,Git 会自行推断应该向哪个服务器的哪个分支推送数据。反过来,在这些分支里运行git pull ...

Git版本回退之没有push到远端只是在本地commit,跳转到某个本地的commi...
方法一:使用git reset --hard 直接指定你想回退到的提交的哈希值,例如:`git reset --hard db0d2eb6`。注意,哈希值无需加引号,错误用法如:`git reset --hard 'db0d2eb6'`。通过执行`git log -g`查看历史记录,你可以轻松地通过哈希值在提交之间切换。方法二:git checkout 另一种方法...

怎么在git提交代码到远程分支
gitcommit可以把代码提交到本地仓库,不用merge。但当需要把本地代码的改动推送到远程仓库中的时候,必须要先fetch,再merge(或者直接gitpull),如果有冲突,还要解决冲突(你的改动和别人对远程仓库代码的改动有冲突)。因为远程仓库的代码可能包含了你上次fetch时到此时别人对远程仓库中代码的更新,因此必...

git合并某次提交到其他分支
1、git log查看提交历史,并复制出自己需要的commit号 2、git checkout xxx切换到xxx分支,执行git cherry-pick a0e042cf593514c3b3ad5facf614a6ec17bee2fb,3、如果提示冲突,就到vscode解决冲突;解决完冲突,git add . ---> git commit -m 'xxxx' ---> git push。4、如果没有冲突...

git 将 master合并到本地分支的问题
1 git add .一般如果你想分享这个文件夹里的所有代码,就在 add后面加“.”,上面的例子就是这样,如果传指定的,只需要把“.”改为文件名即可,现在只是选择了要加入仓库的文件,下面才是添加进入仓库:1 git commit -m 'Test'-m后面跟一个参数,表示说明,将代码提交到GitHub后,将会在代码文件...

git常用命令及手动关联git本地和远端仓库
关联Git本地和远端仓库是项目协作的起点。首先,确保本地仓库初始化完毕,然后使用`git remote add origin `命令添加远程仓库。接着,通过`git fetch`命令获取远端仓库的最新状态,使用`git pull`将远端仓库的代码合并到本地仓库。若需要向远端仓库推送代码,执行`git push`命令即可。在项目开发过程中,...

git 合并某分支某次commit到另一个分支
将新分支dev2的一次提交,合并到dev1中 1、切到分支dev2 2、切换分支到dev1 上面结束之后,如果不想合并可以用 git cherry-pick --abort 放弃本次合并,否则直接push到远程库 push到远程git仓库

git分支切换与提交
首先,查看项目时,用户通常会看到只有一个master分支。创建本地新分支,分为两种模式:先创建分支再切换,或直接创建并进入。创建分支的命令格式如下,效果如下所示。接着,将本地分支推送到服务器,通过特定命令实现。此时,服务器端会显示新创建的分支。在本地进行修改并提交,如修改README.en.md文件...

git 上传方式 和 下拉方式
1. 添加所有更改:`git add .`2. 提交:`git commit -m 'first commit'`3. 检查分支更新:`git pull origin tqw_dev`4. 推送更新:`git push origin tqw_dev`如果你需要在Git中创建一个新的私有仓库并推送代码,首先检查现有仓库,然后添加或删除远程仓库,之后进行推送或拉取操作。切换分支时...

相似回答