标签: git-rebase

从Git中的分支中删除提交

我想知道如何删除提交.

通过delete,我的意思是,如果我没有做那个承诺,当我将来做一推,我所做的更改不会推到远程分支.

我读了git help,我认为我应该使用的命令是git reset --hard HEAD.它是否正确?

git git-rebase git-reset

3035
推荐指数
28
解决办法
214万
查看次数

撤消git rebase

有谁知道如何轻松撤消git rebase?

想到的唯一方法是手动进行:

  • git checkout两个分支的提交父级
  • 然后从那里创建一个临时分支
  • 樱桃 - 手工挑选所有提交
  • 用手动创建的分支替换我重新定位的分支

在我目前的情况下,这是可行的,因为我可以很容易地发现两个分支的提交(一个是我的东西,另一个是我的同事的东西).

然而,我的方法让我感到不理想和容易出错(假设我刚刚用自己的2个分支重新定位).

有任何想法吗?

澄清:我正在谈论一个rebase,在此期间重播了一堆提交.不仅仅是一个.

git undo rebase git-rebase

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

你什么时候使用git rebase而不是git merge?

什么时候建议使用git rebasevs. git merge

成功改造后我还需要合并吗?

git version-control git-merge git-rebase

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

Git工作流程和rebase与合并问题

我和其他开发人员一起在一个项目上使用Git几个月了.我有几年的SVN经验,所以我想我给这段关系带来了很多包袱.

我听说Git非常适合分支和合并,到目前为止,我只是没有看到它.当然,分支很简单,但是当我尝试合并时,一切都变得很糟糕.现在,我已经习惯了SVN,但在我看来,我只是将一个低于标准的版本系统换成了另一个.

我的搭档告诉我,我的问题源于我不顾一切地合并,并且我应该在很多情况下使用rebase而不是合并.例如,这是他所规定的工作流程:

clone the remote repository
git checkout -b my_new_feature
..work and commit some stuff
git rebase master
..work and commit some stuff
git rebase master
..finish the feature
git checkout master
git merge my_new_feature
Run Code Online (Sandbox Code Playgroud)

基本上,创建一个功能分支,始终从主分支到分支,并从分支合并回主分支.需要注意的重要一点是,分支始终保持在本地.

这是我开始的工作流程

clone remote repository
create my_new_feature branch on remote repository
git checkout -b --track my_new_feature origin/my_new_feature
..work, commit, push to origin/my_new_feature
git merge master (to get some changes that my partner added)
..work, commit, push to origin/my_new_feature
git merge master
..finish …
Run Code Online (Sandbox Code Playgroud)

git version-control git-merge git-rebase

949
推荐指数
10
解决办法
20万
查看次数

如何使用远程主服务器重新定义本地分支

我从远程存储库的master分支克隆了项目remote_repo.我创建了新的分支,我承诺了那个分支.其他程序员推到remote_repo了分支机构.我现在需要将我的分支RB重新绑定到remote_repomaster上.这该怎么做 ?键入终端的命令是什么?

git git-rebase

833
推荐指数
8
解决办法
71万
查看次数

如何樱桃挑选多个提交

我有两个分支.提交a是一个头,而其他有b,c,d,ef之上a.我想移动c,d,ef第一支没有提交b.使用樱桃挑选很容易:结帐第一个分支樱桃 - 一个接一个c地挑选f第二个分支到第一个.但有没有办法挑选所有c- f一个命令?

这是场景的直观描述(感谢JJD):

在此输入图像描述

git git-rebase cherry-pick

779
推荐指数
11
解决办法
39万
查看次数

如何从Git存储库中的提交历史记录中删除/删除大文件?

偶尔我会把一个DVD-rip放到一个网站项目中,然后不小心git commit -a -m ...,然后,zap,回购邮件被2.2演出臃肿.下次我做了一些编辑,删除了视频文件,并提交了所有内容,但是历史记录中的压缩文件仍然存储在存储库中.

我知道我可以从那些提交开始分支并将一个分支重新绑定到另一个分支.但是我应该怎么做才能将2个提交合并在一起,以便大文件没有在历史记录中显示并在垃圾收集过程中被清除?

git version-control git-rebase git-rewrite-history

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

在Git中压缩前两个提交?

随着git rebase --interactive <commit>你能够压制任意数量的提交连成一个单一的一个.

除非你想将提交压缩到初始提交中,否则这一切都很棒.这似乎是不可能的.

有没有办法实现它?


中度相关:

在一个相关的问题中,我设法提出了一种不同的方法来解决第一次提交的问题,这也就是说,它是第二次提交.

如果您有兴趣:git:如何插入提交作为第一个,转移所有其他?

git rebase git-rebase squash

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

476
推荐指数
9
解决办法
16万
查看次数

如何将所有git提交压缩成一个?

你如何将整个存储库压缩到第一次提交?

我可以重新设置第一次提交,但这会让我有2次提交.有没有办法在第一个之前引用提交?

git rebase git-rebase squash git-rewrite-history

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