相关疑难解决方法(0)

如何正确强制推送Git?

我已经设置了一个远程非裸"主"仓库并将其克隆到我的电脑上.我做了一些本地更改,更新了我的本地存储库,并将更改推送回我的远程仓库.到目前为止,情况还不错.

现在,我不得不改变远程仓库中的东西.然后我在当地的回购中改变了一些东西.我意识到不需要改变远程仓库.所以我尝试git push从我的本地仓库到我的远程仓库,但我收到的错误如下:

为防止您丢失历史记录,拒绝非快进更新在再次推送之前合并远程更改.有关git push --help详细信息,请参阅"关于快进的注意事项"部分.

我以为那可能是一个

git push --force
Run Code Online (Sandbox Code Playgroud)

将强制我的本地副本将更改推送到远程副本并使其相同.它确实强制更新,但当我回到远程仓库并进行提交时,我注意到文件包含过时的更改(主远程仓库以前有过).

正如我在评论中提到的其中一个答案:

[我]尝试强制,但当回到主服务器保存更改时,我得到过时的暂存.因此,当我提交存储库时不一样.当我再次尝试使用git push时,我得到了同样的错误.

我该如何解决这个问题?

git push git-push git-non-bare-repository

1206
推荐指数
11
解决办法
118万
查看次数

你应该多久使用一次git-gc?

你应该多久使用一次git-gc?

手册只是说:

建议用户定期在每个存储库中运行此任务,以保持良好的磁盘空间利用率和良好的运行性能.

是否有一些命令来获取一些对象计数,以确定是否需要gc的时间?

git git-gc

224
推荐指数
8
解决办法
10万
查看次数

我是否需要在裸仓库上运行git gc?

man git-gc 没有一个明显的答案,我也没有任何运气与谷歌(虽然我可能刚刚使用错误的搜索条款).

我知道您应该偶尔git gc在本地存储库上运行以修剪悬空对象并压缩历史记录等等 - 但是这是一个容易受到同样问题影响的共享裸存储库吗?

如果重要的是,我们的工作流程是多个开发人员从共享网络驱动器上的裸存储库中取出并推送到存储库."中央"存储库是使用创建的git init --bare --shared.

git git-gc

38
推荐指数
2
解决办法
2万
查看次数

Forcing Remote Repo to Compress (GC) with Git

I'm using Git to version a series of binary files. They compress pretty well, but my central repos do not seem to be compressing when I push to them. They're eating up a decent amount of my quota, so I was looking to see if there was a way to force the remote repo to do a GC.

Is this possible? I'm working on Project Locker so I don't believe I have SSH access to go in and GC the …

git git-remote git-gc

10
推荐指数
1
解决办法
9865
查看次数

Git 存储库太大,即使在删除所有旧提交后也是如此

所以我在主 git 存储库的一个分支上工作,该存储库现在有 4 GB 大,因为我曾经错误地推送了原始数据。所以我所做的就是使用 usegit reset--hard@(10)返回 10 次提交,然后使用git push -f. 现在我的提交历史记录是干净的,但存储库仍然有 4GB 大。

如何删除最近 10 次提交。老实说,我什至不介意将我的分支完全设置为与主分支相同的状态。

git

2
推荐指数
1
解决办法
977
查看次数