我想知道如何删除提交.
通过delete,我的意思是,如果我没有做那个承诺,当我将来做一推,我所做的更改不会推到远程分支.
我读了git help,我认为我应该使用的命令是git reset --hard HEAD.它是否正确?
有谁知道如何轻松撤消git rebase?
想到的唯一方法是手动进行:
在我目前的情况下,这是可行的,因为我可以很容易地发现两个分支的提交(一个是我的东西,另一个是我的同事的东西).
然而,我的方法让我感到不理想和容易出错(假设我刚刚用自己的2个分支重新定位).
有任何想法吗?
澄清:我正在谈论一个rebase,在此期间重播了一堆提交.不仅仅是一个.
什么时候建议使用git rebasevs. git merge?
成功改造后我还需要合并吗?
我和其他开发人员一起在一个项目上使用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) 我从远程存储库的master分支克隆了项目remote_repo.我创建了新的分支,我承诺了那个分支.其他程序员推到remote_repo了分支机构.我现在需要将我的分支RB重新绑定到remote_repomaster上.这该怎么做 ?键入终端的命令是什么?
我有两个分支.提交a是一个头,而其他有b,c,d,e和f之上a.我想移动c,d,e和f第一支没有提交b.使用樱桃挑选很容易:结帐第一个分支樱桃 - 一个接一个c地挑选f第二个分支到第一个.但有没有办法挑选所有c- f一个命令?
这是场景的直观描述(感谢JJD):

偶尔我会把一个DVD-rip放到一个网站项目中,然后不小心git commit -a -m ...,然后,zap,回购邮件被2.2演出臃肿.下次我做了一些编辑,删除了视频文件,并提交了所有内容,但是历史记录中的压缩文件仍然存储在存储库中.
我知道我可以从那些提交开始分支并将一个分支重新绑定到另一个分支.但是我应该怎么做才能将2个提交合并在一起,以便大文件没有在历史记录中显示并在垃圾收集过程中被清除?
随着git rebase --interactive <commit>你能够压制任意数量的提交连成一个单一的一个.
除非你想将提交压缩到初始提交中,否则这一切都很棒.这似乎是不可能的.
有没有办法实现它?
在一个相关的问题中,我设法提出了一种不同的方法来解决第一次提交的问题,这也就是说,它是第二次提交.
如果您有兴趣:git:如何插入提交作为第一个,转移所有其他?
git merge和之间有什么区别git rebase?
你如何将整个存储库压缩到第一次提交?
我可以重新设置第一次提交,但这会让我有2次提交.有没有办法在第一个之前引用提交?
git ×10
git-rebase ×10
rebase ×4
git-merge ×3
squash ×2
cherry-pick ×1
git-reset ×1
merge ×1
undo ×1