相关疑难解决方法(0)

如何在Git中完全替换另一个分支中的master分支?

可能重复:
使当前Git分支成为主分支

我的Git存储库中有两个分支:

  1. master
  2. seotweaks(最初创建master)

我创建seotweaks的目的是迅速将其合并回来master.然而,那是三个月前,这个分支的代码是13个版本master.

它已经有效地成为我们的工作主分支,因为现在所有的代码master或多或少已经过时了.

我知道非常糟糕的做法,经验教训.

你知道如何master用那些替换分支的所有内容seotweaks吗?

我可以删除所有内容master并合并,但这不是最佳实践.

git merge git-branch

1549
推荐指数
5
解决办法
54万
查看次数

如何将修改后的提交推送到远程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万
查看次数

执行rebase后,Git提交在同一分支中重复

我理解Pro Git中关于风险的方案dev.作者基本上告诉你如何避免重复提交:

不要将已推送到公共存储库的提交重新绑定.

我将告诉你我的具体情况,因为我认为它不完全适合Pro Git场景,我仍然最终得到重复的提交.

假设我与当地同行有两个远程分支机构:

origin/master    origin/dev
|                |
master           dev
Run Code Online (Sandbox Code Playgroud)

所有四个分支包含相同的提交,我将开始开发origin/dev:

origin/master : C1 C2 C3 C4
master        : C1 C2 C3 C4

origin/dev    : C1 C2 C3 C4
dev           : C1 C2 C3 C4
Run Code Online (Sandbox Code Playgroud)

经过几次提交后,我将更改推送到master:

origin/master : C1 C2 C3 C4
master        : C1 C2 C3 C4

origin/dev    : C1 C2 C3 C4 C5 C6  # (2) git push
dev           : C1 C2 C3 C4 C5 C6  # (1) git …
Run Code Online (Sandbox Code Playgroud)

git branch rebase

108
推荐指数
3
解决办法
5万
查看次数

使用Hudson构建特定的git提交

我有一个哈德森构建服务器.源代码由git存储库管理.对于每个构建,都会检出并编译最新版本.现在我想告诉hudson不要使用最新版本,而是使用旧版本的代码(由我指定).

在哈德森,我有两个可以设置的参数.第一个"存储库名称",默认值为"origin",第二个refspec为value +refs/heads/*:refs/remotes/origin/*.我尝试了类似origin/[commitid]或类似的东西+refs/heads/*:refs/remotes/origin/[commitid].但没有任何工作按预期.

我想我必须使用参数化作业,以便我可以将提交作为参数提供给作业.

我如何告诉hudson使用特定的提交而不是最新的提交?

git hudson

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

撤消上次提交/合并

我把我的git repo搞砸了一下.我在一个单独的分支中处理了一个功能.完成工作后,我切换到主人将其合并,但我的伙伴推了几个与我发生冲突的文件.合并之后,冲突和推动新的变化,我看到我也承诺了我的伙伴的旧变化.

现在我想重做这个提交/合并.我试过 git reset --soft HEAD^但是当我想要推送时,我收到了此错误消息Merge the remote changes before pushing again.

谁能帮我?

git version-control commit revert

26
推荐指数
3
解决办法
4万
查看次数

推动变化而不拉动

我正在尝试撤消已经推送到远程存储库的一些更改,我已经在本地完成了

git reset --hard COMMIT-HASH
Run Code Online (Sandbox Code Playgroud)

但是现在它不会让我在没有先拉动的情况下推动,这当然会击败目的.我试过了:

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

出了哪些错误:

Total 0 (delta 0), reused 0 (delta 0)
remote: error: denying non-fast-forward refs/heads/master (you should pull first)
To git@xxx.beanstalkapp.com:/yyy.git
 ! [remote rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@xxx.beanstalkapp.com:/yyy.git'
Run Code Online (Sandbox Code Playgroud)

那么如何将我的新的正确版本的分支到遥控器?

git

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

在本地回购的'git reset --hard HEAD~1'之后,Git推送失败了

我在我的工作站上有一个本地git仓库,我将其推送到Dropbox位置,以便我可以将其下载到我的笔记本电脑上git pull remote dropbox.

昨天我检查了我的工作站上的更改,提交了它并且git push dropbox编辑了它.我没有git pull从我的笔记本电脑上做一个,因为我怀疑我最终会把这个提交扔掉.

今天我决定抛弃那个提交,所以在我的工作站上我做了:

git reset --hard HEAD~1
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.现在我想把它推回到Dropbox,这样在我的笔记本电脑上我可以从那里合并和提交.所以在我的工作站上我尝试过:

git push dropbox
Run Code Online (Sandbox Code Playgroud)

而git抱怨说:

![已拒绝] master - > master(非快进)错误:无法将某些引用推送到'\ My Dropbox\dev\repos\xcast.git'为了防止您丢失历史记录,拒绝了非快进更新在再次按下之前合并远程更改(例如'git pull').有关详细信息,请参阅"git push --help"中的"关于快进的注意事项"部分.

如何让我的恶化和Dropbox再次同步?

git

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

Git清除远程存储库

如果我将错误的初始提交(或多个)推送到远程存储库并想要清除它/销毁它 - 我可以通过命令执行吗?

将它从服务器中完全删除非常重要,因此它不会占用磁盘空间.

EG今天我推出了一个包含dll,sdfs等的整个Visual Studio项目.首先,这些文件非常大,其次有些是由其他开发人员的VS修改而不能合并的.这让我有点谷歌,我发现这些文件应该被忽略.但是第一次提交已经使我的存储库变得混乱.我想删除它并释放磁盘空间.

有可能删除git repo并通过主机网站(assembla)再次添加它,但这对我来说听起来不是解决方案..有更专业的方式吗?


更新:

我尝试了以下答案的建议,但它没有用:'git push -f''git push --force''git push origin -f''git push origin --force'导致:

$ git push --force
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 6.85 KiB, done.
Total 19 (delta 3), reused 0 (delta 0)
remote: error: denying non-fast-forward refs/heads/master (you should pull fir
)
To git@git.assembla.com:xxxxx.git
 ! [remote rejected] master -> master (non-fast-forward)
error: failed to push some refs …
Run Code Online (Sandbox Code Playgroud)

git

9
推荐指数
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万
查看次数