相关疑难解决方法(0)

如何修改现有的,未删除的提交?

我在提交消息中写了错误的东西.或者,我忘了包含一些文件.

如何更改提交消息/文件?提交尚未被推送.

git git-amend git-commit git-rewrite-history

7669
推荐指数
27
解决办法
246万
查看次数

如何正确强制推送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存储库?

当我使用我的源代码工作时,我做了我惯常的事情提交,然后我推送到远程存储库.但后来我注意到我忘了在源代码中组织我的导入.所以我做了修改命令来替换以前的提交:

> git commit --amend
Run Code Online (Sandbox Code Playgroud)

不幸的是,提交不能被推回到存储库.这被拒绝了:

> git push origin
To //my.remote.repo.com/stuff.git/
 ! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to '//my.remote.repo.com/stuff.git/'
Run Code Online (Sandbox Code Playgroud)

我该怎么办?(我可以访问远程存储库.)

git git-amend git-commit

624
推荐指数
14
解决办法
36万
查看次数

强制更新后Git拉

我只是压缩了一些提交git rebase并做了一个git push --force(这是邪恶的,我知道).

现在其他软件工程师有不同的历史,当他们这样做时git pull,Git会合并.有没有办法解决这个问题,除了做一个rm my-repo; git clone git@example.org:my-repo.git

我需要与之相反的东西git push --force,但git pull --force没有给出预期的结果.

git git-pull

290
推荐指数
4
解决办法
9万
查看次数

为什么Git使用加密哈希函数?

为什么Git使用加密哈希函数SHA-1而不是更快的非加密哈希函数?

相关问题:

Stack Overflow问题为什么Git使用SHA-1作为版本号?问为什么Git使用SHA-1而不是序列号进行提交.

git hash-function

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

Git:如何忽略快进并将原点[branch]恢复到之前的提交?

我用了

git reset --hard dc082bc... 
由于一些错误的提交,恢复到分支回到所需的先前状态.这让我当地的分公司很好.但是,我想将'origin'上的分支回滚到同一个commit,以便我可以重新开始.谁能告诉我如何将原始分支(非主人)恢复到此提交?

我已经尝试过git push origin master,但它给出了以下错误

 ! [rejected]        branch -> branch (non-fast-forward)
error: failed to push some refs to 'git@github.com:xxx/xxx.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

git commit reverting

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

Git中的数据完整性?

我现在已经多次听到过这种情况,Git提供了数据完整性.但是,这是什么意思?

我知道git中的所有对象都是使用SHA-1校验和访问的,并且该校验和是根据文件的内容计算的.这意味着如果文件有更改,您将获得不同的校验和.

但是,它如何提供数据完整性?如果我查找一些基于校验和(密钥)的数据,如果找不到它(如果它已经以某种方式被破坏)将git返回错误.我假设使用git时数据仍然会被破坏 - 磁盘读取错误等.

不要在这里真正看到与SVN的区别,或者在Git中实际上是如何提供数据完整性的.

git

4
推荐指数
2
解决办法
1139
查看次数

Git --force-with-lease 在分支中带有 + (refspec)

git push --force-with-lease origin +somebranch在当前的 Git 上, ,git push --force-with-lease origin somebranchgit push origin +somebranch(没有加号)之间有实质性区别吗?三个人似乎都在做同样的事情。

我试图寻找文档。我尝试查看文档中的refspec ,但我不知道是否存在差异,如果有的话,例如,当我想通过 拉到工作分支时git pull --rebase origin master,默认情况下应该更喜欢哪个。

git github

4
推荐指数
1
解决办法
1905
查看次数