相关疑难解决方法(0)

Git for solo developer:merge vs rebase

我是一名独立开发人员,我刚刚开始使用Git和私有BitBucket存储库.我不清楚的一点是Merge与Rebase.

我经常在台式机和笔记本电脑之间切换,并且一直使用BB来访问任一平台上的最新代码.我在加载最新提交的代码时一直在使用rebase,因为我认为它基本上清除了该平台(桌面或笔记本电脑)上的所有内容,并确保我拥有与BB相同的代码.那是对的吗?我什么时候应该使用merge这样的动作?

git

5
推荐指数
2
解决办法
1091
查看次数

git merge 覆盖更改

任何人都可以帮助避免 git 合并问题。我正在尝试将我的分支合并到另一个分支,比如另一个分支。由于 another_branch 是基础分支。所以要添加在 my_branch 中完成的工作,首先我要合并 my_branch。为此,我正在执行这些步骤。

git checkout another_branch
git pull anothr_branch

一旦我更新了 another_branch 的最新更改,我就会切换到 my_branch

git checkout my_branch
git merge anothr_branch

在做这一切之前,是的,我提交并暂存我的更改以将其保存在本地。所以毫无疑问会丢失我的任何更改。

但我没有看到 another_branch 的所有变化。所以我称之为覆盖。

可能是什么原因?

git git-merge

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

当它说当前分支是最新的(即使不是最新的)时,如何重新计算呢?

我重新设置了分支的基础,该分支的效果是在我自己的基础上添加了一些提交。然后意识到我忘记了压缩一些提交,所以很难重新设置并压缩。现在,我需要把那些提交带回来。但是重新调配告诉我当前分支是最新的,即使不是。有没有办法解决这个问题?

编辑:

有两个分支:a和b。两者都是从master分支出来的。两者都是最新的大师。分支a有一些更改。我也希望分支b也有这些更改。我将分支a重新定位到b。最新的提交来自分支a。我的意图是在提交之前压扁这三个提交。我在最近一次提交之前硬重置为。然后我挤了。现在,我想以一种在将分支b合并到master时不会引起头痛的方式找回最新提交。

我已经尝试过refloggit reset --hard HEAD@{n}但存在相同的问题:当前分支是最新的。

git rebase

5
推荐指数
2
解决办法
3110
查看次数

Git工作流的想法是将未完成的本地分支推送到远程以进行备份

假设我正在开发一个新功能,我已经从'dev'分支分支出来并且我已经工作了好几天,它还没有准备好与'dev'合并并推动.

虽然我做了几次提交,并且已经对dev进行了更改,然后将dev合并到我的功能分支中以保持自己的更新.

这是我的问题.将我的功能分支推送到一个新的分支(与我的本地分支同名)到源(比如GitHub)只是为了备份目的,以及后来当它合并到'dev'和/或'时,这是一个好主意主人'从原产地删除它.

git version-control workflow dvcs github

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

Aptana,SourceTree和Git - 初学者

我刚刚开始使用版本控制,我的头在旋转!我试图围绕树枝,结帐,合并和变基础.我相信这些都是愚蠢的问题,但我真的很感激一些帮助.

我的项目是PHP.我正在使用Aptana工作室为我的IDE,Bitbucket和SourceTree用于Git GUI.

所以我想我可能会对这应该如何工作有一个粗略的想法.请告诉我我错在哪里.

说我想添加一个新功能.我有一个主分支.在Aptana中,我可以右键单击文件→ 转到团队,然后创建一个新分支.我可以说出那个分支feature a1bc.我做了我的改变.

完成此功能和所有更改后,我单击TeamCommit,然后TeamMerge branchmaster.这会将我的更改合并回主仓库.

这大致是我将如何进行功能添加等?如果随着时间的推移我有100多个功能,我该怎么办?我是否保留所有这些功能分支或在它们合并后删除它们?

aptana git bitbucket atlassian-sourcetree

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

使用git跟踪其他人的项目

假设项目A使用git作为其SCM.我克隆他们的回购做出符合我需要的更改,之后我还能从他们的回购中提取更新并保留我的更改吗?

git version-control

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

合并和转换如何工作?

我试图理解merge和rebase在数学中的集合操作方面做了什么.

在下文中," - "表示diff(类似于数学中的设定差异,但"AB"表示A中的但不表示B中的表示,而B表示不表示A中的表示,而"+"表示patch(即表示不相交联合)数学.我以前没用过patch,所以我不确定).

  1. 来自Chacon的Pro Git,

    在此输入图像描述

    最近共同祖先C2在这次合并中的作用是什么?

    C5 =(C4-C2)+(C3-C2)+ C2是否正确?

  2. 对于rebase而不是merge:

    在此输入图像描述

    C4'=(C4-C2)+ C3是正确的吗?

    那么C5来自merge并且来自rebase的C4'具有相同的内容吗?

  3. 来自Loeliger的Git版本控制

    在此输入图像描述

    W',X',Y'和Z'是如何产生的?

git git-merge git-rebase

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

Git重新定位到稍后将创建的分支上

我正在开发一个目前在svn中跟踪的网站项目,但是一旦其他人有时间设置新的服务器和东西,它将转移到git.这是一个很长的故事,但与此同时,我已经从我的一些代码中创建了自己的git存储库,并对它进行了相当多的工作.我没有使用git svn clone,因为我在海外,我的互联网连接很奇怪,需要HTTP代理,而且似乎没有让git svn通过.在任何情况下,我一直在我自己的git存储库中开发,但最终一旦项目实际上正确导入,我将需要将我的工作重新定义为git-svn克隆的东西.会git rebase为此正常工作吗?

一个复杂的问题是,我实际上是在虚拟机中工作,对于许多提交,我没有意识到我没有设置user.name和user.email配置条目,所以提交来自vm的本地用户,这是一种很奇怪 将所有更改收集到diff文件中然后在创建新分支时将它们应用到新分支上会更好吗?

另一个复杂因素是之前使用的SVN有点半心半意,因此生产服务器上实际上没有提交我未提及的更改.实际上,我首先对代码进行了较旧的修订,甚至不是SVN头,所以我遗漏了一些东西.什么是最好的方法?

最后一个问题是,如果我通过导入SVN存储库git svn(我刚刚检查过它似乎现在正在工作)但是我没有添加一个authors文件,我以后能否将我的更改重新绑定到正确导入的分支上有作者文件?

哦,一个新的复杂功能.我自己导入了SVN存储库git svn,这是一个艰苦的过程,在这个缓慢的连接上花费了两天的大部分时间.然而,在最终完成克隆之后,我意识到在SVN存储库中代码都在子目录中,但在我的git存储库中,存储库的根也是目录的根.如果这有点令人困惑,那基本上就是这样

SVN:

\dir\codez

混帐:

\codez

我如何组合这两个存储库?我希望我仍然可以使用rebase,但这似乎是一个非常奇怪的情况.它听起来类似于子模块,但我认为这不是我需要的.

svn git rebase

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

git知道合并后哪个分支是哪个?

很抱歉,如果这是一个愚蠢的问题只有一个是/否答案,但如果我理解正确,在git中,一个分支只是一个指向提交的指针.这是不是暗示一旦你合并了两个分支,git就不知道哪一个指向哪一组提交?

之前

A---B---C---D---E    <- X
 \                
  1----2----3----4   <- Y
Run Code Online (Sandbox Code Playgroud)

A---B---C---D---E--M  <-X & Y
 \                /
  1----2----3----4
Run Code Online (Sandbox Code Playgroud)

git merge branch

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

在master分支中使用git rebase

我使用git已经有一段时间了,想要使用rebase命令.早些时候我只使用了merge命令.

我对我的功能分支进行了更改,我需要将其与主分支合并.我可以继续通过git merge从主分支运行命令将我的更改合并到我的主分支.但是我可以使用rebase命令将我的分支更改到我的主服务器中吗?从文档中,我了解到rebase将从功能分支完成,以将更改从主服务器合并到我的功能分支.我的理解是正确的还是我需要为我的场景使用git merge命令.

git git-merge git-rebase

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