标签: git-merge

撤消git pull,如何将repos带到旧状态

有没有办法恢复或撤消git pull,以便我的源/ repos将进入git pull之前的旧状态?我想这样做是因为它合并了一些我不想这样做的文件,但只合并了其他剩余的文件.所以,我想要恢复这些文件,这可能吗?谢谢 :)

编辑我想撤消git merge以澄清.看到一些答案后,我就这样做了

git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
Run Code Online (Sandbox Code Playgroud)

现在,我该怎么办?做的git reset --hard 还行吗?我不想再把它搞砸了,所以要求详细的步骤?

git version-control git-merge

939
推荐指数
16
解决办法
71万
查看次数

是否有"他们的"版本的"git merge -s ours"?

当使用主题分支"B"合并到"A"时git merge,我会遇到一些冲突.我知道使用"B"中的版本可以解决所有冲突.

我知道git merge -s ours.但我想要的是类似的东西git merge -s theirs.

它为什么不存在?在与现有git命令冲突合并后,如何获得相同的结果?(git checkout来自B的每个未合并文件)

更新:从分支A(合并提交点到树的B版本)丢弃任何东西的"解决方案"不是我想要的.

git git-merge

818
推荐指数
11
解决办法
43万
查看次数

gitignore和"以下未跟踪的工作树文件将被结帐覆盖"

所以我在.gitignore文件中添加了一个文件夹.

一旦我做了git status它告诉我

# On branch latest
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试更改分支时,我得到以下内容:

My-MacBook-Pro:webapp marcamillion$ git checkout develop
error: The following untracked working tree files would be overwritten by checkout:
    public/system/images/9/thumb/red-stripe.jpg
    public/system/images/9/original/red-stripe.jpg
    public/system/images/8/thumb/red-stripe-red.jpg
    public/system/images/8/original/red-stripe-red.jpg
    public/system/images/8/original/00-louis_c.k.-chewed_up-cover-2008.jpg
    public/system/images/7/thumb/red-stripe-dark.jpg
    public/system/images/7/original/red-stripe-dark.jpg
    public/system/images/7/original/DSC07833.JPG
    public/system/images/6/thumb/red-stripe-bw.jpg
    public/system/images/6/original/website-logo.png
    public/system/images/6/original/red-stripe-bw.jpg
    public/system/images/5/thumb/Guy_Waving_Jamaican_Flag.jpg
    public/system/images/5/original/logocompv-colored-squares-100px.png
    public/system/images/5/original/Guy_Waving_Jamaican_Flag.jpg
    public/system/images/4/thumb/DSC_0001.JPG
    public/system/images/4/original/logo.png
    public/system/images/4/original/DSC_0001.JPG
    public/system/images/4/original/2-up.jpg
    public/system/images/3/thumb/logo2.gif
    public/system/images/3/original/logo2.gif
    public/system/images/3/original/Guy_Waving_Jamaican_Flag.jpg
    public/system/images/3/original/11002000962.jpg
    public/system/images/2/thumb/Profile Pic.jpg
    public/system/images/2/original/Profile Pic.jpg
    public/system/images/2/original/02 Login Screen.jpg
    public/system/images/1/original/Argentina-2010-World-Cup.jpg
Please move or remove them before you can switch branches.
Aborting
Run Code Online (Sandbox Code Playgroud)

这就是我的.gitignore文件的样子:

.bundle
.DS_Store
db/*.sqlite3
log/*.log
tmp/**/* …
Run Code Online (Sandbox Code Playgroud)

git gitignore git-merge

796
推荐指数
15
解决办法
103万
查看次数

如何撤消与冲突的git合并

我在分公司mybranch1.mybranch2分叉,mybranch1并进行了更改mybranch2.

然后,在开启时mybranch1,我已经完成git merge --no-commit mybranch2 它显示合并时存在冲突.

现在我想丢弃所有东西(merge命令),这样mybranch1就恢复了之前的状态.我不知道我该怎么做.

git merge git-merge git-merge-conflict

744
推荐指数
5
解决办法
37万
查看次数

与主人合并开发分支

我有两个分支,即masterdevelopment在GitHub的库.我正在开发分支中进行所有开发,如图所示.

git branch development
git add *
git commit -m "My initial commit message"
git push -u origin development
Run Code Online (Sandbox Code Playgroud)

现在我想将development分支上的所有更改合并到master.我目前的做法是:

git checkout master 
git merge development
git push -u origin master 
Run Code Online (Sandbox Code Playgroud)

如果我遵循的程序是正确的,请告诉我.

git git-merge

710
推荐指数
9
解决办法
64万
查看次数

有没有git-merge --dry-run选项?

我正在合并一个可能有很多冲突的远程分支.我怎么知道它是否会有冲突?

我没有看到像什么--dry-rungit-merge.

git git-merge

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

获取冲突文件列表的最简单方法是什么?

我只需要一个冲突文件的简单列表.

有什么比这简单:

git ls-files -u  | cut -f 2 | sort -u
Run Code Online (Sandbox Code Playgroud)

要么

git ls-files -u  | awk '{print $4}' | sort | uniq
Run Code Online (Sandbox Code Playgroud)

我想我可以为此设置一个方便的别名,但是想知道专业人士是如何做到的.我用它来编写shell循环,例如自动解决冲突等.也许通过插入mergetool.cmd替换该循环?

git git-merge git-merge-conflict

641
推荐指数
10
解决办法
31万
查看次数

为什么git默认执行快进合并?

来自mercurial,我使用分支来组织功能.当然,我也想在我的历史中看到这种工作流程.

我使用git开始了我的新项目并完成了我的第一个功能.合并该功能时,我意识到git使用快进,即如果可能,它会将我的更改直接应用到主分支并忘记我的分支.

因此,思考未来:我是唯一一个从事这个项目的人.如果我使用git的默认方法(快进合并),我的历史将导致一个巨大的主分支.没有人知道我为每个功能使用了一个单独的分支,因为最后我只有那个巨大的主分支.这看起来不专业吗?

通过这种推理,我不想要快进合并,也不知道为什么它是默认的.这有什么好处的?

git git-merge fast-forward git-branch

637
推荐指数
2
解决办法
15万
查看次数

在Git中从master转换为分支

在我的存储库中,我有一个aq我正在研究的分支.

然后,我承诺了新的工作和错误master.

将这些提交纳入aq分支的最佳方法是什么?创建另一个新分支master并将其合并aq

git version-control git-merge

633
推荐指数
11
解决办法
56万
查看次数

如何樱桃挑选一系列提交并合并到另一个分支?

我有以下存储库布局:

  • 主分公司(生产)
  • 积分
  • 工作的

我想要实现的是从工作分支中挑选一系列提交并将其合并到集成分支中.我是git的新手,我无法弄清楚如何正确地做到这一点(在一次操作中不提取合并的樱桃选择提交范围)而不会弄乱存储库.关于这个的任何指针或想法?谢谢!

git git-merge git-cherry-pick

599
推荐指数
8
解决办法
32万
查看次数