相关疑难解决方法(0)

为特定提交生成git补丁

我需要编写一个脚本,为SHA1提交号列表创建补丁.

我尝试过使用git format-patch <the SHA1>,但是从那个SHA1开始为每个提交生成一个补丁.在生成几百个补丁之后,我不得不杀死这个过程.

有没有办法只为特定的SHA1生成补丁?

git patch

1144
推荐指数
10
解决办法
57万
查看次数

Git中HEAD ^和HEAD~之间有什么区别?

当我在Git中指定一个祖先提交对象时,我在HEAD^和之间感到困惑HEAD~.

两者都有像" HEAD^3和"这样的"编号"版本HEAD~2.

它们看起来与我非常相似或相同,但是波浪号和插入符之间有什么区别吗?

git

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

git cherry-pick说"...... 38c74d是合并但没有给出-m选项"

我在我的主分支中做了一些更改,并希望将这些更改带到上游.当我樱桃挑选以下提交但是我被卡在fd9f578上,其中git说:

$ git cherry-pick fd9f578
fatal: Commit fd9f57850f6b94b7906e5bbe51a0d75bf638c74d is a merge but no -m option was given.
Run Code Online (Sandbox Code Playgroud)

git试图告诉我什么是樱桃挑选正确的东西在这里使用?主分支确实包含对上游分支中已修改的文件的更改,因此我确信会出现一些合并冲突,但这些并不是很难理解.我知道哪些地方需要改变.

这些是我想要上传的提交.

e7d4cff added some comments...
23e6d2a moved static strings...
44cc65a incorporated test ...
40b83d5 whoops delete whitspace...
24f8a50 implemented global.c...
43651c3 cleaned up ...
068b2fe cleaned up version.c ...
fd9f578 Merge branch 'master' of ssh://extgit/git/sessions_common
4172caa cleaned up comments in sessions.c ...
Run Code Online (Sandbox Code Playgroud)

git merge rebase cherry-pick

462
推荐指数
5
解决办法
26万
查看次数

Git checkout双重破折号的含义

这个git命令中文件名之前的双破折号是什么意思?

git checkout --ours -- path/to/file.txt
git checkout --theirs -- path/to/file.txt
Run Code Online (Sandbox Code Playgroud)

这是强制性的吗?它等同于

git checkout --ours path/to/file.txt
git checkout --theirs path/to/file.txt
Run Code Online (Sandbox Code Playgroud)

git git-checkout

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

如何将分支的内容复制到新的本地分支?

我曾经在一个本地分支机构工作,并将更改推送到远程.我想恢复该分支上的更改并对其执行其他操作,但我不想完全失去工作.我在考虑在本地创建一个新分支并在那里复制旧分支,然后我可以恢复更改并继续处理旧分支.还有更好的方法吗?或者我该怎么做?

git branch

245
推荐指数
3
解决办法
25万
查看次数

如何将多个提交还原为单个提交的一部分

这不是一个主要问题,只是我想知道是否可能.

假设我们有两个提交,abcd123并且wxyz789发生在非相邻的,分开的地方,远在回购历史中.现在让我们说我们想要还原它们.干

git revert abcd123 wxyz789
Run Code Online (Sandbox Code Playgroud)

将导致两个单独的提交,一个恢复abcd123,另一个恢复wxyz789.

这一切都很好,但是如果我们想要在两个提交中修复的错误在逻辑上是链接的,并且为了自我记录的目的,我们想做一个单独的提交包含一个单词" 我现在打破了一些东西 " 我正在恢复文件x,y和z "评论?有没有这样做的git命令?

(我当然知道有可能创建一个提交,我只需手动修复所有更改然后推送.这对于所有的不良原因都是痛苦的.)

git revert

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

删除/撤消Sourcetree上的合并

我在我的项目中进行了很少的更改(我在远程分支而不是主服务器上工作),我提交了它们并在BitBucket上创建了一个pull请求并将分支合并到master.我忘了在提交后推送我的更改.现在,在尝试将当前分支切换到我的远程分支并在合并之前恢复到提交之后,我设法将所有更改恢复并将其备份到系统中的其他位置.我现在要做的是撤消我所做的错误合并.每次我单击合并并选择"反向提交",我收到以下错误消息:

"错误:提交是合并但没有给出-m选项.

致命:恢复失败"

分支现在看起来像这样:

在此输入图像描述

我想删除合并并将其带到一个状态,以便它不再说master(4 behind)了.

git git-merge atlassian-sourcetree

52
推荐指数
2
解决办法
6万
查看次数

如何修复还原的git提交?

我已经对存储库进行了一些更改,并且它们被其他人还原(它们在Windows上编译但在linux上不编译).我认为这些变化仍然在历史中,但我怎样才能恢复这些变化,修复它们,然后重新提交?

git commit

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

Git 流程和多个功能等待 QA

在过去的几个月里,我们一直在工作中松散地跟踪 git flow,但遇到了漫长的 QA 等待问题。

这是我们的流程:

  • 开发人员在功能分支上进行本地开发
  • 当团队认为该功能准备就绪时,将其合并到开发中,推送到开发服务器(Codeship & rsync)
  • 客户批准功能
  • 功能合并到 master,推送到 prod

不幸的是,客户有时可能需要长达数周的时间来批准一项功能。这可能是由于积压、内容创建、人员流动等原因。

但是,与此同时,新功能可能已合并到开发中并推送到开发服务器进行审批。假设第二个功能获得批准并需要尽快部署(当然)。我如何在不带第一个功能的情况下从 dev 中获得第二个功能?

git git-flow

5
推荐指数
1
解决办法
1910
查看次数

如何撤消"git revert head"?

我想放弃当前分支中的更改而不提交,我不小心输入了命令git revert HEAD.prev分支(之前提交的)的变化似乎丢失了?

如何撤消git revert HEAD命令?

git

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

如何重新应用 git 中已恢复的更改

如何重新应用 git 中已恢复的更改

  1. 对“git Push”进行了一些更改
  2. git 恢复“2398239” - 稍后
  3. 对“git Push”进行了一些更改
  4. 我想从 [2] 中的恢复中撤回更改

我该怎么做?

git

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

如何恢复git还原?

我对git不太熟悉,但一直在玩它,以便我可以边做边学.我搜索了用户手册和stackoverflow但不确定它是否有我正在寻找的答案.

我做了一些提交,一切顺利.然后我偶然(仍然不确定如何)恢复了我想保留的一些变化,我想知道如何撤消该恢复.

这是我的git reflog:

60e7a2d HEAD@{10}: checkout: moving from master to production 
246007f HEAD@{11}: pull origin master: Merge made by the 'recursive' strategy.
079b2e3 HEAD@{12}: revert: Revert "added dropdown to the about menu for #faq"
Run Code Online (Sandbox Code Playgroud)

我想撤消我在HEAD @ {12}做错的事情,因为它删除了我实际想要保留的更改(添加到关于菜单的下拉菜单).

git github

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