Git:即将分叉我自己的项目

时间:2012-12-17 11:47:34

标签: git branch

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

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

我该怎么做?我创建一个“分支”吗?还是一个标签?或其他什么?

我正在使用一组简单的命令进行简单的解释。也回到原来的HEAD,或者然后(也许)将更改合并到HEAD(这不会改变)

Merc的。

3 个答案:

答案 0 :(得分:7)

你需要一个分支。

git checkout -b nameofyournewbranch

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

git checkout master

回到你的新分支:

git checkout nameofyournewbranch

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

git checkout master
git merge --no-ff nameofyourbranch 

- no-ff意味着你会看到它从主分支出来然后重新分支,让你跟踪不同的功能。

要了解您正在做什么,请获取某种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,如果您尝试删除丢失的未合并内容,则会收到警告。

答案 1 :(得分:1)

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

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


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

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

您可以阅读本文以了解有关分支的更多信息:
A successful Git branching model

答案 2 :(得分:0)

这里有一些有用的备忘单:one in HTMLone in PDF

基本命令是

显示所有现有分支

git branch

创建新分支

git branch BRANCHNAME

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

git checkout BRANCHNAME

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

git merge BRANCHNAME