4

我是一个非常基础的 git 用户;我基本上只使用命令git add -a(在修改它们后添加文件),git commit -m "what I did"然后git push(将其推送到我的服务器)。

现在我想对我的代码库做一些非常激烈的事情。一些可能不起作用的东西——我将不得不回到我原来的位置。

我怎么做?我要创建一个“分支”吗?还是标签?或者是其他东西?

我追求的是一组带有简单解释的简单命令。然后返回到原来的 HEAD,或者然后(也许)将更改合并到 HEAD(不会改变)

默克。

4

3 回答 3

8

你需要一个分支。

git checkout -b nameofyournewbranch

这会将您当前的分支(默认名称为“master”)签出为具有您指定名称的新分支。您现在所做的任何提交都将在新分支上。如果您想离开它并回到原来的位置:

git checkout master

回到你的新分支:

git checkout nameofyournewbranch

如果要将分支合并到主代码库中:

git checkout master
git merge --no-ff nameofyourbranch 

--no-ff 意味着你会看到它从 master 分支出来然后分支回来,让你可以跟踪不同的特性。

要查看您在做什么,请获取某种 git 源代码树查看器,例如source tree、 gitk 等。如果您可以直观地看到它们,则更容易理解分支在做什么。

更新: 要检查合并前会发生什么,请在与 master 相同的位置创建一个临时分支并合并到那里:

git checkout -b tempbranchname master
git merge --no-ff nameofyourbranch

如果您喜欢它,请将其合并到 master 中,就好像您首先在 master 上做了一样:

git checkout master
git merge tempbranchname

如果不这样做,只需将其删除:

git checkout master
git branch -D tempbranchname 

-D 表示即使没有合并到 master 也删除。通常使用 -d ,因为如果您尝试删除将丢失的未合并内容,则会收到警告。

于 2012-12-17T11:51:59.840 回答
1

您可以执行以下操作:
1) 创建新分支。然后将其合并到您的主分支。

git branch newbranch
git checkout newbranch
...
git checkout master
git merge newbranch


2)您可以提交到您的主分支,然后撤消您最近的提交。

但我认为最好的方法是分支。

您可以阅读这篇文章以了解有关分支的更多信息:
一个成功的 Git 分支模型

于 2012-12-17T11:55:26.810 回答
0

在这里你有几个有用的备忘单:一个是 HTML 的一个是 PDF 的

基本命令是

显示所有现有的分支

git branch

创建新分支

git branch BRANCHNAME

将工作副本更改为另一个分支

git checkout BRANCHNAME

将另一个分支合并到当前分支

git merge BRANCHNAME
于 2012-12-17T11:55:02.163 回答