我是Git的菜鸟,正在尝试了解gitpull与gitrebase之间的区别。有人可以举例说明何时使用哪个选项吗,因为我觉得两者的目的相同。 最佳答案 gitpull和gitrebase不能互换,但它们紧密相连。gitpull从远程获取当前分支的最新更改,并将这些更改应用到分支的本地副本。通常这是通过merge完成的,即将本地更改merge到远程更改中。所以gitpull类似于gitfetch&gitmerge。Rebase是merge的替代方法。它不是创建一个merge两个分支的新提交,而是将其中一个分支的提交移动到另一个分支之上。
我是Git的菜鸟,正在尝试了解gitpull与gitrebase之间的区别。有人可以举例说明何时使用哪个选项吗,因为我觉得两者的目的相同。 最佳答案 gitpull和gitrebase不能互换,但它们紧密相连。gitpull从远程获取当前分支的最新更改,并将这些更改应用到分支的本地副本。通常这是通过merge完成的,即将本地更改merge到远程更改中。所以gitpull类似于gitfetch&gitmerge。Rebase是merge的替代方法。它不是创建一个merge两个分支的新提交,而是将其中一个分支的提交移动到另一个分支之上。
假设我有这个功能分支“foo”。现在我想将它merge回master,但是我添加了一些我不希望在master中的调试代码。调试代码在它自己的提交中,因此我可以在每次提交时使用gitcherry-pick并省略此提交。但这会很累人。是否有一些“反向选择”或交互式merge? 最佳答案 尽管其他SCM使用它表示什么,但在git中,gitrevert是一个反向的cherry-pick。 关于git-我怎样才能merge许多提交,但留下一个呢?,我们在StackOverflow上找到一个类似的问
假设我有这个功能分支“foo”。现在我想将它merge回master,但是我添加了一些我不希望在master中的调试代码。调试代码在它自己的提交中,因此我可以在每次提交时使用gitcherry-pick并省略此提交。但这会很累人。是否有一些“反向选择”或交互式merge? 最佳答案 尽管其他SCM使用它表示什么,但在git中,gitrevert是一个反向的cherry-pick。 关于git-我怎样才能merge许多提交,但留下一个呢?,我们在StackOverflow上找到一个类似的问
我有工作目录(#1),其中有供应商目录(#2)。我想在没有Composer的情况下手动pull一个依赖项(npm/gem的php版本)。当我决定要在#2中更新库时,我在#1工作,还没有保存/提交更改。我导航到vendor/myname,并执行了gitpull存储库。不幸的是,它开始pull并merge到#1,而不是在vendor文件夹中创建新目录。现在我有:#1包含我的更改的文件夹#1文件夹包含我不想要的来自错误存储库的文件#1merge冲突如composer.json,Readme.md...(一般文件)我想“撤消”最后一次gitpull而不会丢失我对文件夹#1所做的任何更改。我该怎
我有工作目录(#1),其中有供应商目录(#2)。我想在没有Composer的情况下手动pull一个依赖项(npm/gem的php版本)。当我决定要在#2中更新库时,我在#1工作,还没有保存/提交更改。我导航到vendor/myname,并执行了gitpull存储库。不幸的是,它开始pull并merge到#1,而不是在vendor文件夹中创建新目录。现在我有:#1包含我的更改的文件夹#1文件夹包含我不想要的来自错误存储库的文件#1merge冲突如composer.json,Readme.md...(一般文件)我想“撤消”最后一次gitpull而不会丢失我对文件夹#1所做的任何更改。我该怎
merge分支后,是否将其从版本库中删除?这是一个好的做法吗?我通常会创建很多分支,因为我不想破坏我当前的版本,我希望删除它们以保持秩序。但是,如果您使用Assembla或GitHub,您来自旧分支的merge请求将保存在站点上,因此如果您删除它们,您将收到错误消息,因为它无法获取它们...通常如何管理? 最佳答案 删除已merge的分支没有问题,所有的提交在历史中仍然可用,即使在GitHub界面中,它们仍然会显示(参见,例如thisPR,它指的是一个fork我在PR被接受后删除了)。
merge分支后,是否将其从版本库中删除?这是一个好的做法吗?我通常会创建很多分支,因为我不想破坏我当前的版本,我希望删除它们以保持秩序。但是,如果您使用Assembla或GitHub,您来自旧分支的merge请求将保存在站点上,因此如果您删除它们,您将收到错误消息,因为它无法获取它们...通常如何管理? 最佳答案 删除已merge的分支没有问题,所有的提交在历史中仍然可用,即使在GitHub界面中,它们仍然会显示(参见,例如thisPR,它指的是一个fork我在PR被接受后删除了)。
我一直在为我的所有项目使用SVN。有时项目B源自项目A的副本。当项目A有一般更改时,我可以在目录B中使用svnmergeA,它将merge这些更改。现在,如果我想使用git。我不喜欢将我的所有项目都放在同一个存储库中,因为这样我就必须克隆所有并且不能像在SVN中那样只选择一个项目。但是每个项目都有一个存储库,我该如何像之前使用SVN那样做呢?问题是:如果我想要几个实际上都与一个原始项目相关的子项目并使它们保持同步,那么构建它的最佳方式是什么?而且我还希望能够单独检查它们 最佳答案 如果您有两个项目,proj1和proj2,并且想要将
我一直在为我的所有项目使用SVN。有时项目B源自项目A的副本。当项目A有一般更改时,我可以在目录B中使用svnmergeA,它将merge这些更改。现在,如果我想使用git。我不喜欢将我的所有项目都放在同一个存储库中,因为这样我就必须克隆所有并且不能像在SVN中那样只选择一个项目。但是每个项目都有一个存储库,我该如何像之前使用SVN那样做呢?问题是:如果我想要几个实际上都与一个原始项目相关的子项目并使它们保持同步,那么构建它的最佳方式是什么?而且我还希望能够单独检查它们 最佳答案 如果您有两个项目,proj1和proj2,并且想要将