相关疑难解决方法(0)

如何解决Git中的合并冲突

有没有一种很好的方法来解释如何在Git中解决合并冲突?

git git-merge merge-conflict-resolution git-merge-conflict

4600
推荐指数
27
解决办法
251万
查看次数

如何在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 master,但是我已经和它一起工作了一段时间,有几个不同的项目.在每个项目中,我总是从那时git clone [repository]起,总是可以git pull,只要我没有突出的变化,当然.

最近,我不得不恢复到以前的分支,并且这样做了git checkout 4f82a29.当我再次准备好拉,我发现我必须将我的分支设置回主人.现在,我不能使用笔直git pull,而是必须指定git pull origin master,这很烦人,并告诉我,我不完全了解发生了什么.

更改了哪些不允许我在git pull没有指定原始主文件的情况下执行直接操作,以及如何将其更改回来?

更新:

-bash-3.1$ cat config
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[branch "master"]
[remote "origin"]
    url = git@github.com:user/project.git
    fetch = refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)

更新2:要清楚,我明白我的原始方法可能不正确,但我需要修复此回购,以便我可以git pull再次使用.目前,git pull导致:

-bash-3.1$ git pull
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your …
Run Code Online (Sandbox Code Playgroud)

git version-control

479
推荐指数
7
解决办法
22万
查看次数

修复Gilab错误:"您不能将代码推送到此项目的受保护分支"?

当我在我的项目中有开发人员访问权限时将代码推送到git时出现问题,但是当我有主访问权限时一切正常.问题出在哪里?以及如何解决它?

错误信息:

错误:您不能将代码推送到此项目的受保护分支.
...
错误:未能推送一些参考...

branch git-push git-add git-commit gitlab

295
推荐指数
5
解决办法
23万
查看次数

如何在Git中的分支上获取更改

自从当前分支分支以来,在分支上获取提交日志的最佳方法是什么?我目前的解决方案是:

git log $(git merge-base HEAD branch)..branch
Run Code Online (Sandbox Code Playgroud)

git-diff的文档表明它git diff A...B等同于git diff $(git-merge-base A B) B.另一方面,git-rev-parse的文档表明它r1...r2被定义为r1 r2 --not $(git merge-base --all r1 r2).

为什么这些不同?请注意,这git diff HEAD...branch给了我想要的差异,但相应的git log命令给了我更多的东西.

在图片中,假设:

         x---y---z---branch
        /
---a---b---c---d---e---HEAD

我想得到一个包含提交x,y,z的日志.

  • git diff HEAD...branch 给出了这些提交
  • 但是,git log HEAD...branch给出x,y,z,c,d,e.

git branch

257
推荐指数
7
解决办法
19万
查看次数

"git pull"可以自动存储并弹出挂起的更改吗?

我知道如何解决这个问题:

user@host$ git pull
Updating 9386059..6e3ffde
error: Your local changes to the following files would be overwritten by merge:
    foo.bar
Please, commit your changes or stash them before you can merge.
Aborting
Run Code Online (Sandbox Code Playgroud)

但是,是不是有办法让git pullstashpop舞蹈给我吗?

如果此命令具有不同的名称,则可以.

创建shell别名git stash; git pull; git stash pop是一种解决方案,但我寻找更好的解决方案.

git git-stash git-pull

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

git flow分支已经分歧

我正在使用git flow工具,我遇到了一些问题.我的git分支已经分歧了.我读过主分支,'origin/master'有分歧,如何'分散'分支'?并尝试按照步骤,尝试合并和rebase我的本地存储库.

    $  git flow feature finish showFindLogs
    Branches 'develop' and 'origin/develop' have diverged.
    And branch 'develop' may be fast-forwarded.
    $  git merge origin/develop
    Already up-to-date.
    $ git rebase origin/develop
    Current branch feature/showFindLogs is up to date.
    $ git status
    # On branch feature/showFindLogs
    nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)

我怎么能摆脱这个?我已经完成了git flow功能,我只想将我的更改发送到遥控器.谢谢!

git git-flow

62
推荐指数
3
解决办法
6万
查看次数

git rebase upstream/master vs git pull --rebase upstream master

有没有之间的差异git rebase upstream/mastergit pull --rebase upstream master,如果是这样,是什么?遥控器可以是任何遥控器,不一定是上游遥控器.

git git-pull git-rebase

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

分支机构显然有分歧,但提交历史是相同的

git status 告诉我,我的分支和我从另一个存储库开始的分支已经分歧:

# On branch master
# Your branch and 'origin/master' have diverged,
# and have 13 and 13 different commit(s) each, respectively.
Run Code Online (Sandbox Code Playgroud)

但每个的提交历史是相同的.也就是说git log,使用相同的SHA-1哈希以相同的顺序显示相同的提交.这是最后13次提交,以及之前的所有事情.

这是怎么回事?!或者我误解了一些基本的东西 - git对我来说都是新的.

这是一个很长的故事,我是如何进入这个混乱的 - git-svn,cygwin,EGit,pull --rebase与虚假的冲突 - 但我想知道这种"分歧没有任何差异"是否可能是由于换行?我在记事本中打开了文件,并阅读了很多关于svn/git/cygwin和CRLF的内容,但没有任何启示.

编辑 确定.以上大部分都不是真正的问题.也许我不明白git log或某些事情搞砸了......

我有两个存储库.如果我去rep_A并运行,git log我得到相同的结果(特别是相同的SHA-1),就像我去rep_B并运行一样git log.

在rep_A,如果我运行,git log origin/master我会得到我期望的不同提交历史.(不同的SHA-1,但相同的消息 - 我是如何创造这个混乱的另一个故事.)

git remote -v show 向我保证原产地是我所期望的.

git log在rep_B上,表现不如我所料.就像它给了我rep_A的提交历史.我错过了什么?

git

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

git pull origin master不更新origin/master?

根据文档,git pull执行git fetch然后执行git merge,但是在这种情况下执行git pull origin master应该执行git fetch origin master吗?但是,它似乎没有这样做.这是一个例子.

假设我的远程源主站(在我的情况下在GitHub上)具有以下历史:

commit 1111111 : my first commit
commit 2222222 : a commit from someone else
Run Code Online (Sandbox Code Playgroud)

我只在本地进行了第一次提交作为以下节目

git checkout master
git log --pretty=format:'%h' -n 1
1111111

git checkout origin/master
git log --pretty=format:'%h' -n 1
1111111
Run Code Online (Sandbox Code Playgroud)

从这里开始,我看看结果如下:

git checkout master
git pull origin master

git log --pretty=format:'%h' -n 1
2222222

git checkout origin/master
git log --pretty=format:'%h' -n 1
1111111
Run Code Online (Sandbox Code Playgroud)

可以看出,拉实际上确实使用来自远程源的新提交来更新我的主分支,但是我的本地origin/master仍然是它的位置.强迫我做以下事情

git fetch origin master …
Run Code Online (Sandbox Code Playgroud)

git github git-pull git-fetch

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