2017-07-18 255 views
0

我使用的是真正的不可靠的连接,虽然我尝试阶段犯下如此没有一个是超过20MB和/或推他们,一旦他们达到一个大小类似,有时是不可能的(少数资产的可大 - 我知道使用git作为资产也不是最好的主意),并且有90%的机会在连接发送之前连接失败。是否可以在git中一次一个地提交提交,而不是同时提交所有提交?

是否有可能推提交一个接一个,或者你可以提出任何其他提示,可能是这种情况下有用吗?

+0

问:你知道,承诺只保存它和以前提交权利之间的变化? 10个提交,您添加一个10 MB文件不等于100 MB。如果你改变这个10MB文件的一行,git将只存储一行记录。 – Jacobm001

+0

出于好奇......你在git仓库中存储的是如此之大? – Jacobm001

回答

3

是的,这不仅是可能的,但其实很琐碎。相反的:

git push remote branch 

只需运行:

git push remote <commit-hash>:branch 

一次,每次提交尝试推搡,在适当的(父母最让孩子最)的顺序。

要自动化此,假设你的遥控器被命名为origin和你的分支命名为branch和你origin/branch远程跟踪分支是最新的(如果不是运行git fetch origin):

for rev in $(git rev-list --reverse origin/branch..branch); do 
    git push origin $rev:branch; 
done 

这实在是一个-liner分为三行,用于StackOverflow发布目的。 (注:这还假定或多或少线性的历史;添加--topo-order如果不能保证的事情,但随后你需要--force并有这里发生的各种不良思想,所以这不是要走的路:你要拆分推动使用一个临时党支部,或者在汇合点聚集他们,也许)