相关疑难解决方法(0)

Git push remote被拒绝{change ### closed}

由于此错误,我在将更改从本地主服务器推送到远程主服务器时遇到问题:

remote: Processing changes: refs: 1, done
To ssh://xxxxx@gerrit.dev.xxxxx.net:29418/xxxxxx
 ! [remote rejected] HEAD -> refs/for/master (change 14823 closed)
error: failed to push some refs to 'ssh://xxxxx@gerrit.dev.xxxxx.net:29418/xxxxxx'
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这个问题?

git status表示我的分支在5个提交之前超过origin/master.

git gerrit

39
推荐指数
5
解决办法
7万
查看次数

Git:压缩master上提交的最简单方法

可能重复:
如何使用git将我最后的X提交压缩在一起?

我有一个在GitHub上托管的项目,我有一个本地克隆.我有很多小提交,我已经推到了GitHub.这一切都是使用默认的*master分支完成的.

我在merge -squash和rebase等之间感到困惑...将一些历史提交组合到一个提交中的最直接的方法是什么,以便它推送到GitHub?

git github

36
推荐指数
1
解决办法
3万
查看次数

Git错误:遇到应该是指针的7个文件,但没有

如果标记为已修改的暂存文件,如何清理repo

git reset --hard

我明白了

遇到了应该是指针的7个文件,但不是:

git clean -fdx

也没有帮助

git git-lfs

30
推荐指数
11
解决办法
1万
查看次数

如何用git覆盖新的提交?

所以我正在与一个团队合作开展敏感项目,我们所有的资源都在Github上.我最近推了一个提交,后来意识到我的推动有很多错误.我已经修复了我本地副本上的所有错误,并准备再次推送.但是有什么方法可以推送和覆盖我的上次提交吗?我的理由是,我不希望其他人查看我的初始提交及其所做的更改......

基本上我想用我的新提交覆盖旧提交..所以没有关于旧提交的信息仍然可供其他组成员查看.

任何帮助将不胜感激!谢谢.

注意:只是注意到这个问题被标记为重复.为了澄清,我的问题是覆盖已被推送的提交.我的问题不是改变不正确的提交消息.

git github

21
推荐指数
1
解决办法
3万
查看次数

我应该如何将更改从一个提交移动到另一个提交?

我在同一个分支上有两个提交,一个接一个.我将对文件A的更改添加到第一次提交,然后我对其他文件进行了一些更改,然后进行了另一次提交.现在我希望文件A的更改在第二次提交而不是第一次提交.什么是最优雅的方式?

git

18
推荐指数
3
解决办法
9735
查看次数

压缩并将master合并到同一个分支中

有没有办法压缩并将master合并到同一个分支中?有效地获取所有挂起的提交并将它们置于1次提交中?

我最初的想法是一个脚本,它采取my-branch并做一个git checkout master && git pull && git checkout my-branch-squashed然后 git merge --squash my-branch(处理任何合并冲突),然后最终删除my-branch并重命名my-branch-squashmy-branch

这似乎非常圆,可能不好,所以我试图看看是否还有其他方法.我试图解决的意图是,当我在github上放置分支并将它们"压缩并合并"到master中时,本地机器上存在的分支与合并到master中的分支不匹配,因此在使用git branch --merged ${1-master} | grep -v " ${1-master}$" | xargs -r git branch -d; 它时没有正确删除已合并为master的分支.我想要的是一种自动删除已合并为master的旧分支的方法

git github

17
推荐指数
2
解决办法
713
查看次数

GIT:如何压缩已被推送到远程仓库的几个提交?

我和Git有一个奇怪的设置.基本上我有:

[client 1] <---> [remote repo] ----> [client 2]
Run Code Online (Sandbox Code Playgroud)

[客户端1]本质上是我正在使用的本地仓库,因为我无法在本地机器上编译/构建项目.

[客户端2]是用于构建的远程服务器.

在中间,我有另一个回购,[远程回购],基本上用于与我公司的cvs中央回购同步,并且还在我的[客户端1]和[客户端2]之间进行同步.

由于所有编译/构建都在[客户端2]上完成,因此我在[客户端1]上进行了许多简单的提交,只是为了修复编译或构建错误.

所以当我发现最后一次提交时出现错误时,已经太晚了,因为提交已经被推送到远程仓库并从中撤出.

我怎样才能将这些(很多)琐碎的提交压缩成一个?谢谢.

git

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

在sourcetree中压缩两次以上的提交?

我有大量的提交,大约20个,自从我上次推出origin/master以来我已经完成了.我从来没有过多个分支,主,所有提交都是在master上完成的.如何将所有20个提交压缩到一个提交中,最好使用sourcetree?我想这样做,所以我可以将一个提交推送到origin/master.

在sourcetree中,我已经想到在存储库菜单中使用交互式rebase命令.它会显示我想要压缩的确切提交列表.我尝试反复按下壁球按钮,直到它显示一个包含所有这些按钮的提交.但是当我点击OK时,我最终只得到两个最近提交的提交.因此,即使对话框似乎表明它可以在实践中压缩多个,但我无法让它工作.

git squash atlassian-sourcetree

15
推荐指数
1
解决办法
7303
查看次数

如何通过非交互式压缩除最近的提交之外的所有提交来减少膨胀的Git仓库的大小?

我的Git repo有数百GB的数据,比如SQL备份,所以我试图删除旧的,过时的提交,因为它们会使一切变得越来越大.我需要一个快速的解决方案; 越快越好.

除了最新的提交之外,我如何压缩所有提交,而不必在交互式rebase中手动压缩每个提交?具体来说,我不想使用

git rebase -i --root
Run Code Online (Sandbox Code Playgroud)

我的回购

我有这些提交:

A .. B .. C ... ... H .. I .. J .. K .. L
Run Code Online (Sandbox Code Playgroud)

我想是这样的(在两者之间挤压的一切A,并H进入A):

A .. H .. I .. J .. K .. L
Run Code Online (Sandbox Code Playgroud)

有关如何压缩所有提交的答案,但我想保留一些最近的提交.我也不想压缩最近的提交.(特别是我需要保持前两个提交从顶部开始计数.)

git rebase git-rebase git-rewrite-history

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

如何压缩我的git分支提交到相同的分支没有变基?

我有一个本地分支,我们正在使用带有Pull请求的git-flow,我希望在收到PR反馈后压缩一些提交.

如何将我的所有提交(例如PR)压缩到同一个分支中?

我想它会是这样的:

git checkout master                    # For master
git pull                               # Get all branches up-to-date
git checkout feature1                  # Checkout the branch
git checkout -b feature1_squash        # Make a copy of the branch
git branch -D feature1                 # Delete original branch
git checkout master                    # (?) Branch off latest master for safety
git checkout -b feature1               # Make new (empty) original branch
git merge --squash feature1_squash     # Merge with squash into it
git push -f feature1                   # Push, force …
Run Code Online (Sandbox Code Playgroud)

git git-merge git-checkout git-branch git-squash

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