草庐IT

git - 如何在 Git 中恢复删除的分支?

我正在尝试使用Git进行软件开发。我发现如果我在Git中删除一个分支,我可能会永远丢失我的代码。这让我很吃惊。我认为作为一个版本控制系统,它应该能够让我做任何事情(甚至是愚蠢的事情)而不用担心损害我的工作。下面的步骤是我做的:初始化Git存储库。对存储库进行多项更改。切换/checkout当前工作目录以进行首次提交。删除主分支。然后我失去了所有的工作,我无法相信我所看到的。这是真的吗?如果我在编码时喝醉了。我可能会丢失Git中的代码。问题是如何回滚删除分支的操作​​?或者,我怎样才能获得Git中的所有历史记录,甚至是那些已经在日志中消失的历史记录? 最佳答案

git - 如何在 Git 中恢复删除的分支?

我正在尝试使用Git进行软件开发。我发现如果我在Git中删除一个分支,我可能会永远丢失我的代码。这让我很吃惊。我认为作为一个版本控制系统,它应该能够让我做任何事情(甚至是愚蠢的事情)而不用担心损害我的工作。下面的步骤是我做的:初始化Git存储库。对存储库进行多项更改。切换/checkout当前工作目录以进行首次提交。删除主分支。然后我失去了所有的工作,我无法相信我所看到的。这是真的吗?如果我在编码时喝醉了。我可能会丢失Git中的代码。问题是如何回滚删除分支的操作​​?或者,我怎样才能获得Git中的所有历史记录,甚至是那些已经在日志中消失的历史记录? 最佳答案

git - 不在 Git 的 master 分支上工作的原因

所以,我是git的新手,在过去几周阅读了一些资料后,我读到一些人说不应该更改master分支,而应该从和然后merge到。我很高兴能在分支上工作,但想知道为什么不在主分支上工作? 最佳答案 其他人提出了不直接在master中进行更改的很好的案例,我同意他们的看法。然而,总是提倡这样的工作流程有时会让刚接触git的人认为它不必要地复杂,所以我想提供一个对比。如果您有一个人或非常小的团队,并且您的开发是高度线性的,即您很少一次处理超过一件事,并且每个功能通常在开始下一个功能之前完成,那么实际上几乎没有不直接从master工作的好处。如果

git - 不在 Git 的 master 分支上工作的原因

所以,我是git的新手,在过去几周阅读了一些资料后,我读到一些人说不应该更改master分支,而应该从和然后merge到。我很高兴能在分支上工作,但想知道为什么不在主分支上工作? 最佳答案 其他人提出了不直接在master中进行更改的很好的案例,我同意他们的看法。然而,总是提倡这样的工作流程有时会让刚接触git的人认为它不必要地复杂,所以我想提供一个对比。如果您有一个人或非常小的团队,并且您的开发是高度线性的,即您很少一次处理超过一件事,并且每个功能通常在开始下一个功能之前完成,那么实际上几乎没有不直接从master工作的好处。如果

git - 重命名远程 git 分支

我有2个git分支:master和experimental。实验变好了,想把它做成master。我想我会重命名以改变周围的事物,但这是我得到的:nutebook:Stuffnathan$gitremoterenamemasterolderror:Couldnotrenameconfigsection'remote.master'to'remote.old'我使用GitHub和Git-Tower。 最佳答案 以下是重命名master分支的指南。重命名您的实验分支同样容易。Here'showIdidtherenaming.First,i

git - 重命名远程 git 分支

我有2个git分支:master和experimental。实验变好了,想把它做成master。我想我会重命名以改变周围的事物,但这是我得到的:nutebook:Stuffnathan$gitremoterenamemasterolderror:Couldnotrenameconfigsection'remote.master'to'remote.old'我使用GitHub和Git-Tower。 最佳答案 以下是重命名master分支的指南。重命名您的实验分支同样容易。Here'showIdidtherenaming.First,i

Git 将一个分支 rebase 到另一个分支之上

在我的git仓库中,我有一个Master分支。其中一位远程开发人员创建了一个分支Branch1并在其上进行了一系列提交。我从Branch1分支,创建一个名为Branch2的新分支(gitcheckout-bBranch2Branch1)这样Branch2head在添加到Branch1的最后一次提交上:(看起来像这样)Master---\Branch1--commit1--commit2\Branch2(mylocalbranch)Branch1发生了一些变化。另一个开发人员压缩了他的提交,然后又添加了一些提交。同时,我在我的分支中进行了一系列更改,但尚未提交任何内容。当前结构如下所示:

Git 将一个分支 rebase 到另一个分支之上

在我的git仓库中,我有一个Master分支。其中一位远程开发人员创建了一个分支Branch1并在其上进行了一系列提交。我从Branch1分支,创建一个名为Branch2的新分支(gitcheckout-bBranch2Branch1)这样Branch2head在添加到Branch1的最后一次提交上:(看起来像这样)Master---\Branch1--commit1--commit2\Branch2(mylocalbranch)Branch1发生了一些变化。另一个开发人员压缩了他的提交,然后又添加了一些提交。同时,我在我的分支中进行了一系列更改,但尚未提交任何内容。当前结构如下所示:

git - 仅对分支的一部分进行 rebase

我有两个分支(和主分支)。Branch2基于Branch1基于master。我提交了Branch1以供审查,它有一些变化,我将其中一些变化重新定位到历史记录中,并将结果merge到master中。现在我需要在master之上对分支2进行rebase,以准备审查/merge。问题是分支2仍然包含分支1的原始提交,它们不再存在,所以git变得困惑。我尝试使用rebase-i删除分支1的原始提交,但分支2的提交并不基于master-before-branch-1。我需要做的是采用分支2,删除一些提交,并在单个操作中仅将剩余的提交rebase到master之上。但我只知道如何分两个不同的步骤来

git - 仅对分支的一部分进行 rebase

我有两个分支(和主分支)。Branch2基于Branch1基于master。我提交了Branch1以供审查,它有一些变化,我将其中一些变化重新定位到历史记录中,并将结果merge到master中。现在我需要在master之上对分支2进行rebase,以准备审查/merge。问题是分支2仍然包含分支1的原始提交,它们不再存在,所以git变得困惑。我尝试使用rebase-i删除分支1的原始提交,但分支2的提交并不基于master-before-branch-1。我需要做的是采用分支2,删除一些提交,并在单个操作中仅将剩余的提交rebase到master之上。但我只知道如何分两个不同的步骤来