相关疑难解决方法(0)

如何强制"git pull"覆盖本地文件?

如何强制覆盖本地文件git pull

方案如下:

  • 团队成员正在修改我们正在处理的网站的模板
  • 他们正在向images目录添加一些图像(但忘记在源代码管理下添加它们)
  • 他们稍后通过邮件发送图像给我
  • 我在源控件下添加图像并将其与其他更改一起推送到GitHub
  • 他们无法从GitHub中提取更新,因为Git不想覆盖他们的文件.

这是我得到的错误:

错误:未经跟踪的工作树文件'public/images/icon.gif'将被合并覆盖

如何强制Git覆盖它们?这个人是设计师 - 通常我会手动解决所有冲突,因此服务器具有他们只需要在他们的计算机上更新的最新版本.

git version-control overwrite git-pull git-fetch

6654
推荐指数
46
解决办法
427万
查看次数

如何在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万
查看次数

请输入提交消息以解释为何需要此合并,特别是如果它将更新的上游合并到主题分支中

我正在使用Git.我从一个远程仓库做了拉,并得到一条错误信息:

"请输入一条提交消息来解释为什么这种合并是必要的,特别是如果它将更新的上游合并到一个主题分支中."

我尝试输入一条消息并按下Enter但没有任何反应.

我怎么告诉Git /终端我输入了我的消息?

我在OS X上使用终端.

git macos git-merge git-commit git-commands

440
推荐指数
6
解决办法
32万
查看次数

我怎么'覆盖'而不是'合并',在Git的另一个分支上的分支?

我有两个分支,emailstaging.staging是最新的,我不再需要email分支中的旧更改,但我不想删除它们.

所以,我只是想的所有内容转储stagingemail让他们都指向同一个commit.那可能吗?

git

231
推荐指数
10
解决办法
18万
查看次数

强迫我的本地主人成为原点/主人

我让master和origin/master陷入困境,不再对该分支的变化感兴趣.

我按照这些说明让我的本地主人指向正确的位置 使当前的git分支成为主分支

 git checkout better_branch
 git merge --strategy=ours master    # keep the content of this branch, but record a merge
 git checkout master
 git merge better_branch             # fast-forward master up to the merge
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,除了git status给出

C:\data\localprojects\Beko2011Azure [master]> git status

# On branch master
# Your branch and 'origin/master' have diverged,
# and have 395 and 2 different commits each, respectively.
#
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

所以我现在如何说服origin/master(github)反映我的主人.可以安全地放弃在原点/主人身上孤立的任何东西.

git branch github

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

Git:有可能将分支转换为主分支,忽略任何合并冲突吗?

除了主人之外,我还有一个分支机构的git仓库.我想让那个分支成为主人 - 完全覆盖主人.显然我可以进行合并,但这会导致很多冲突,当我知道我总是希望来自附加分支的文件而不是主文件时,解决它们似乎需要做很多工作.

是否可以将分支转换为主分支,或者进行合并并告诉git始终支持来自一个分支的文件而不是另一个分支?

提前致谢!

git

24
推荐指数
2
解决办法
5694
查看次数

在Git中恢复一系列推送的合并和提交(无需重写历史记录)

上下文

我的一个队友错误地将一些提交推到了我们的主要开发部门.我们是一个小型的,并置的团队.我们的远程存储库托管在内部服务器上.

这是我们提交日志的顶部(所有这些提交都已被推送):

$ git log develop -6 --pretty=oneline --abbrev-commit
faada93 Merge branch 'develop' of <our_repo_path>.git
244d174 Support classes again
a97a877 Pruned all unused references (again).
8c29252 Merge branch 'develop' of <our_repo_path>.git
a78b993 Support models & methods - product types & categories
da8b496 Resolved JIRA issue PPF-182
Run Code Online (Sandbox Code Playgroud)

da8b496是我们想要保留在develop分支中的最后一个提交,所以我们需要还原最后的5个提交.我们创建了一个新分支,8c29252以继续在"功能分支"中工作.

我尝试了许多事情,在这个答案Linus的这篇文章的指导下,最终做了你在下面的终端历史中看到的内容.但我不确定我最终做的是"正确的方式".我发现的信息很复杂; 我无法辨别这个特定问题的"最佳解决方案".

我选择的方法(见下面的详细信息)是否能够在不损害我们历史的情况下还原这5个提交?有没有更简单或"更正确"的方法来完成同样的事情?

除此之外,我考虑从da8b496(git checkout -b new-develop da8b496)创建一个新的分支并放弃我们当前的develop分支,但这感觉不对.


我最终做了什么(细节)

首先,我创建了提交一个新的分支a78b9938c29252,因为这些提交包含我们要保持并最终合并回到我们的主要开发分支的工作.

$ git …
Run Code Online (Sandbox Code Playgroud)

git git-revert

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

Git:如何正确合并两个功能和完全不同的分支?

想象一下这样一种情况:你有两个同一个项目的分支,第一个分支的一部分在另一个分支上有重大的重构.但有一段时间你需要保持两个分支功能,所以你正在修复错误和两个关键功能添加,有时以不对称的方式.在某些时候,你需要将重构分支合并到原始分支上.在这种情况下使用的最佳技术是什么?是否仍然可以保持历史清洁?

但更重要的是,在这种情况下我最初的策略应该是什么?

git git-merge git-rebase

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

为什么"git push helloworld + master:master"而不仅仅是"git push helloworld"?

我最初尝试推送我的(第一次!)git repo:

$ git push helloworld
Run Code Online (Sandbox Code Playgroud)

但我得到了回报:

To git-smichaels@free5.projectlocker.com:helloworld.git
 ! [rejected]        HEAD -> master (non-fast forward) error:
 failed to push some refs to 'git-smichaels@free5.projectlocker.com:helloworld
git'
Run Code Online (Sandbox Code Playgroud)

所以我找到了另一个关于"修改提交"的StackOverflow问题,并从那里尝试了一个建议而不知道它是否会对我有所帮助:

KaiserSosa@SMICHAELS /c/test/helloworld (master)
$ git push helloworld +master:master
Run Code Online (Sandbox Code Playgroud)

有效!

但我不知道为什么它解决了我的问题:(

有人可以解释为什么这有效,但" git push helloworld"不是吗?

git git-push

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