Git推送使用了太多的资源,并由主机终止
所以我现在正在为一个老项目创建回购协议。我总共有4.5 Gig的文件,所以这需要一些时间。我在一个共享主机环境中,我的主机限制了占用太多内存太长时间的进程。很明显,这个过程需要一段时间,而且我的主人一直在结束 有没有一种方法可以让我轻松放弃一次提交,这样我就不会受到速率限制Git推送使用了太多的资源,并由主机终止,git,resources,push,Git,Resources,Push,所以我现在正在为一个老项目创建回购协议。我总共有4.5 Gig的文件,所以这需要一些时间。我在一个共享主机环境中,我的主机限制了占用太多内存太长时间的进程。很明显,这个过程需要一段时间,而且我的主人一直在结束 有没有一种方法可以让我轻松放弃一次提交,这样我就不会受到速率限制 这也是我的第一次提交,所以我很难恢复我添加的所有文件。否则我会一件一件地做。我的第一个想法是在本地创建裸repo,然后简单地将其FTP到服务器。这应该行。我的第一个想法是在本地创建裸repo,然后简单地将其FTP到服务器。这
这也是我的第一次提交,所以我很难恢复我添加的所有文件。否则我会一件一件地做。我的第一个想法是在本地创建裸repo,然后简单地将其FTP到服务器。这应该行。我的第一个想法是在本地创建裸repo,然后简单地将其FTP到服务器。这应该可以。如果您没有在一次提交中完成所有工作,您可以
git-push
部分提交
使用git log
您可以“漫游”您的历史记录,检查一些提交并将它们推送到远程。让我们说:
$ git log --oneline master
$ git checkout abcabc123123 # 10th commit in history
$ git push origin HEAD:master
$ git checkout bcdef145325 # 30th commit in history
$ git push origin HEAD:master
等等
您的步骤必须提交多少次将是一个尝试和失败的任务-它取决于您的提交大小
如果您没有任何历史记录,可能可以对每个文件/文件夹进行单独提交(我认为最好按文件大小进行关联),如前所述推送它们,然后在单个文件中挤压所有提交:
$ git checkout master
$ git reset acbacbad142 # hash of first commit
$ git commit --ammend
$ git push -f origin master
您可以使用reset
+commit--ammend
在一次提交中重新设置所有更改的基础,然后push-f
重写远程分支。文件(blob
s,以git术语)将已经上载(甚至树也将上载),因此不会花费太多时间。
在您重新编写历史记录时,请确保在您开始进行短推和推压提交之间没有人从远程克隆/获取,以避免冲突。如果您没有在一次提交中完成所有工作,您可以部分推压提交
使用git log
您可以“漫游”您的历史记录,检查一些提交并将它们推送到远程。让我们说:
$ git log --oneline master
$ git checkout abcabc123123 # 10th commit in history
$ git push origin HEAD:master
$ git checkout bcdef145325 # 30th commit in history
$ git push origin HEAD:master
等等
您的步骤必须提交多少次将是一个尝试和失败的任务-它取决于您的提交大小
如果您没有任何历史记录,可能可以对每个文件/文件夹进行单独提交(我认为最好按文件大小进行关联),如前所述推送它们,然后在单个文件中挤压所有提交:
$ git checkout master
$ git reset acbacbad142 # hash of first commit
$ git commit --ammend
$ git push -f origin master
您可以使用reset
+commit--ammend
在一次提交中重新设置所有更改的基础,然后push-f
重写远程分支。文件(blob
s,以git术语)将已经上载(甚至树也将上载),因此不会花费太多时间。
当您正在编写历史记录时,请确保在您开始进行短推和推压提交之间没有人从远程克隆/获取,以避免冲突。与s的想法相同,我将在本地创建一个,以便创建一个(巨型)文件
FTP单个文件比裸git回购的多个文件更不容易出错。
(具体示例见“”)
然后,您可以从远程端的捆绑包中进行克隆。与s的想法相同,我将在本地创建一个,以便创建一个(巨大的)文件
FTP单个文件比裸git回购的多个文件更不容易出错。
(具体示例见“”)
然后,您可以从远程端的捆绑包进行克隆