草庐IT

mro_merge

全部标签

Git/Sourcetree 基本分支和 merge

新手问题提醒!!!我刚刚开始使用Git,尤其是Sourcetree,它似乎是一个很好的可视化应用程序。在我的第一次测试中,它进行得很顺利,分支和merge(见上图)。我知道这种结构意味着我正在以错误的方式使用development和master分支,但这很好,因为至少它有效。虽然在我的第二次尝试中,我似乎无法想象任何分支,即使在两个分支中都已完成工作,它们似乎出现在一个分支中(带有“7提前”注释),并且当我尝试merge似乎没有任何反应。希望第二张截图足以让有人告诉我这里发生了什么?如果没有,我会尝试提供更多信息。我现在只是在玩,所以仍然要掌握正确的工作流程,只是想通过Sourcetr

git - 如何压缩中间有 merge 提交的提交?

我正在开发一个功能分支。做出了几次promise。压缩提交。将更改推送到远程分支。有冲突。merge来自master的更改,解决功能分支上的冲突。gitfetchoriginmastergitmergeFETCH_HEAD手动解决冲突。gitcommitgitpush我又做了一个promise。所以,当前的提交历史看起来是这样的。从现在到旧:提交3提交Myyy(merge)提交2在将我的功能分支merge到master之前,如何将3个以上的提交压缩为1个? 最佳答案 假设功能分支名为feature,主分支名为main:从main创建

git - 如何压缩中间有 merge 提交的提交?

我正在开发一个功能分支。做出了几次promise。压缩提交。将更改推送到远程分支。有冲突。merge来自master的更改,解决功能分支上的冲突。gitfetchoriginmastergitmergeFETCH_HEAD手动解决冲突。gitcommitgitpush我又做了一个promise。所以,当前的提交历史看起来是这样的。从现在到旧:提交3提交Myyy(merge)提交2在将我的功能分支merge到master之前,如何将3个以上的提交压缩为1个? 最佳答案 假设功能分支名为feature,主分支名为main:从main创建

git - ORIG_HEAD、FETCH_HEAD、MERGE_HEAD 等

有很多有用的git引用资料(这个的确切名称是什么?),例如HEAD、ORIG_HEAD、FETCH_HEAD、MERGE_HEAD、@{upstream}等这个有引用资料吗?带有解释的完整列表? 最佳答案 githelprevisions调出http://git-scm.com/docs/gitrevisions,它描述了所有引用提交的最常见方式:HEAD命名您在工作树中基于更改的提交。FETCH_HEAD记录您使用上次gitfetch调用从远程存储库获取的分支。ORIG_HEAD是由以剧烈方式移动您的HEAD的命令创建的,以在操作

git - ORIG_HEAD、FETCH_HEAD、MERGE_HEAD 等

有很多有用的git引用资料(这个的确切名称是什么?),例如HEAD、ORIG_HEAD、FETCH_HEAD、MERGE_HEAD、@{upstream}等这个有引用资料吗?带有解释的完整列表? 最佳答案 githelprevisions调出http://git-scm.com/docs/gitrevisions,它描述了所有引用提交的最常见方式:HEAD命名您在工作树中基于更改的提交。FETCH_HEAD记录您使用上次gitfetch调用从远程存储库获取的分支。ORIG_HEAD是由以剧烈方式移动您的HEAD的命令创建的,以在操作

git - Bitbucket:更新 fork 以 merge master repo 的更改?

我正在使用我具有只读访问权限的bitbucketgit存储库,因此我创建了一个分支来处理我的功能。问题:如何更新我的复刻以包含所有者对原始存储库所做的更改?在github上,似乎必须执行以下操作,所以我怀疑它与此类似:$gitremoteaddupstreamgit://github.com/octocat/Spoon-Knife.git$gitfetchupstream$gitmergeupstream/master我在BitbucketDocumentationforforking中找不到任何相关信息 最佳答案 就像GitHub

git - Bitbucket:更新 fork 以 merge master repo 的更改?

我正在使用我具有只读访问权限的bitbucketgit存储库,因此我创建了一个分支来处理我的功能。问题:如何更新我的复刻以包含所有者对原始存储库所做的更改?在github上,似乎必须执行以下操作,所以我怀疑它与此类似:$gitremoteaddupstreamgit://github.com/octocat/Spoon-Knife.git$gitfetchupstream$gitmergeupstream/master我在BitbucketDocumentationforforking中找不到任何相关信息 最佳答案 就像GitHub

git - merge (无分支)到 master

dave@dave-dev:/media/dev/belgravia$gitbranch*(nobranch)master我不确定这是怎么发生的,但是有什么方法可以将无分支merge到主分支中。当其中一个不是分支时,我不确定如何merge两个分支。无分支中的提交似乎是松散的。恐怕checkoutmaster会导致数据丢失。 最佳答案 使用gitshow获取当前HEAD的SHA1提交ID。有了这些信息,您就不会丢失这些提交。然后,切换到master并:gitmergeabc123其中abc123是第一步的SHA1。

git - merge (无分支)到 master

dave@dave-dev:/media/dev/belgravia$gitbranch*(nobranch)master我不确定这是怎么发生的,但是有什么方法可以将无分支merge到主分支中。当其中一个不是分支时,我不确定如何merge两个分支。无分支中的提交似乎是松散的。恐怕checkoutmaster会导致数据丢失。 最佳答案 使用gitshow获取当前HEAD的SHA1提交ID。有了这些信息,您就不会丢失这些提交。然后,切换到master并:gitmergeabc123其中abc123是第一步的SHA1。

git - 致命的 : Could not open file . git/rebase-merge/done 阅读:没有这样的文件或目录

我打算做一个rebase来删除我最后一次提交,但我不想完成所以我退出了。(我意识到这可能不是最好的解决方法,但它已经完成了)我想我做错了,因为我收到错误:fatal:Couldnotopenfile.git/rebase-merge/donefor阅读:每次运行gitstatus时,都没有这样的文件或目录。我如何摆脱这个错误,以便我可以继续提交?我可以删除文件吗?如果我可以删除它,我该怎么做? 最佳答案 在尝试以下操作之前,请确保先存储或提交任何未提交的更改,否则您将无法挽回地丢失它们。然后尝试执行gitrebase--abort。