我怎样才能自动逐个提交远程分支

时间:2015-12-10 10:25:34

标签: git

假设我在本地分支中有以下提交,

最早的是17081fa,最新的是12ba64e

我怎样才能将这些提交逐个推送到远程git服务器。

举个例子,

I don't want to push all local commits at once.

the push order should be

17081fa -> 30854d2 -> ... -> 12ba64e

这些提交已准备好推送到服务器,但需要逐个推送,

我需要知道命令可以让我这样做,谢谢

* 12ba64e 
* 0fdf1a6 
* 75428a3 
* 00f837f 
* da9d16d 
* 3f34af9 
* b6066e9 
* cdf2dbf 
* 0d5cc8b 
* db8744c 
* df564b9 
* 30854d2 
* 17081fa 

1 个答案:

答案 0 :(得分:14)

您可以在推送时指定完整的refspec:

git push origin 17081fa:branchname
git push origin 30854d2:branchname
# etc

如果你想稍微自动化一下,你可以编写一个等待你的按键的litte shell循环:

for hash in $(git rev-list 17081fa^..12ba64e); do
  read -p "Pushing $hash. Press return to continue.";
  git push origin $hash:branchname;
done