提问这个问题的方法可能不止一种,所以这里是问题的解释。 我正在做主人并且做了一些事情,然后我决定把这项工作搁置一边。 我支持了一些提交,然后在我开始我的垃圾工作之前分支。 实际上这很好用,我刚才有一个不同的分支作为我的主要开发分支。 我想知道如何改变周围的事情,所以我再次为大师工作,但它没有我的垃圾工作,并说工作是在另一个分支。

可以通过某些方式询问/解决这个问题:如何将我的主分支重命名为其他内容,然后将其他内容重命名为master? 如何备份master然后导致我已经备份的所有提交都在另一个分支上?

感谢所有(快速)答案! 他们都很好。

===============>>#1 票数:142 已采纳

除了其他注释,您可能会发现-m(move)切换到git-branch很有帮助。 您可以将旧主服务器重命名为其他服务器,然后将新分支重命名为master:

git branch -m master crap_work
git branch -m previous_master master

===============>>#2 票数:31

我认为你应该考虑采用不同的发展策略来防止这样的问题。 对我来说似乎最好的一个是永远不要直接在我的主分支上进行开发。 无论我正在做什么改变,我总是为新代码创建一个新的分支:

git checkout -b topic/topic_name master

从那里,我可以推出对公共存储库的更改:

git push pu topic/topic_name

或者最终只是将它与我​​的主分支合并:

git checkout master && git merge topic/topic_name

如果您真的需要回到较旧的时间点并将其设置为主数据库,则可以将当前分支重命名为其他分支,然后查看旧版本作为主数据:

git branch -m master junk
 git co -b master old_sha1_value

===============>>#3 票数:14

master开始,创建一个名为in-progress的分支,然后将master重置为先前的提交。

$ git branch in-progress
$ git reset --hard HEAD^

===============>>#4 票数:7

这相对容易:

git checkout -b fake_master master # fake_master now points to the same commit as master
git branch -D master               # get rid of incorrect master
git checkout -b master real_master # master now points to your actual master
git checkout master                # optional -- switch on to your master branch

===============>>#5 票数:0

这将在一步中将您的主人设置到任何一点:

git checkout -B master new_point

  ask by Daniel Benamy translate from so

未解决问题?本站智能推荐:

2回复

在Git中切换远程分支

是否可以在不克隆的情况下切换到其他远程分支? 在远程我有多个分支 我克隆了clay分支并在上面工作。 现在我想在master分支上工作。 如何切换到它?
2回复

在git中切换分支

有时我在一个功能分支,但我做了一个无关的改变,我想在大师看到。 我常常可以这样做: 但有时当我结帐时,我会收到一个警告,表示存在本地更改,因此我无法切换分支。 为什么这有时只会发生? 当我看到这条消息时是否有解决方法? 也许是藏匿?
1回复

在git中切换远程分支

假设我有两个远程git分支A和B 我希望分支A包含分支B的内容,然后删除B ,以便只有分支A保留B的原始内容。 不幸的是,远程存储库不允许我简单地删除分支A ,因此我一直以某种方式将B复制到A 。 仅使用git命令可能吗?
2回复

在Git中切换分支时重置文件权限

我在一个文件夹上创建了一个Git存储库,该文件夹的Linux所有者与我的用户不同。 直到很久以后我才将组权限设置为写入,以便我的用户可以进行更改并提交给Git。 但是,每当我从分支切换到主分支时,所有组写权限都将丢失。 我已经尝试切换到主分支,并使用root用户为我所在的组启用所有文件
3回复

在GIT中切换分支而不签出

这是我遵循的步骤: 创建一个仓库 将文件添加到master分支。 创建了一个名为test_branch的分支。 在test_branch添加了将近30k文件并提交。 现在,当我尝试切换到master分支时。 它说“ checking out files
2回复

Eclipse:由于“结帐冲突”而无法在Git中切换分支

每当我尝试在Eclipse中切换到另一个Git分支时,都会发生此错误: 隐藏或重置冲突都不能解决问题。 窗口消失,然后仅几秒钟后返回。 当按下取消时,该窗口将永久消失,但随后该分支将不会被切换。 我不想签入.project文件。 在Eclipse中自动禁用构建也不起作用。
2回复

在Git中使用长名称的分支之间切换

有没有一种简单的方法可以在分支之间切换而无需输入较长的分支名称? 我大概可以用哈希引用分支中的最新提交。 但是,当另一个分支签出时,如何获取哈希呢? 我想做类似的事情:
3回复

在git中切换分支 - 我什么时候会得到“你有本地更改不能切换分支。”? [重复]

可能重复: git:切换分支并忽略任何更改而不提交。 Git分支表现得很奇怪 我知道一般的建议是在git中切换分支之前要有一个干净的状态。 (藏匿或公园承诺)。 我想知道我何时会得到“你有本地更改无法切换分支”,我无法遵循逻辑: 我有一个repo,文件名为versi
1回复

Git在分支之间切换

我对Git仍然很新,所以对noob问题道歉。 以前我使用过SVN并从事过多个分支的项目。 我一次打开多个VS解决方案,或者至少在它们之间频繁切换。 使用Git,我知道在一个分支处打开多个分支是不可能的,因此在它们之间切换变得相当繁琐。 只是想知道适应这种工作流程的最佳策略是什么。
1回复

切换哪个分支是git中的一个分支

我正在仓库的​​多开发人员环境中工作,该仓库有一个名为“ develop”的分支,该分支会经常更新。 但是,develop存在一些问题,我想在本地计算机上创建一个分支,例如“ custom_develop”,在这里我可以进行几次提交,但我不想将其提交回主存储库。 在功能分支上工作时,我想