如何创建一个新的项目一个新的空分支(How to create a new empty branch

2019-07-17 10:47发布

我们使用一个Git仓库储存我们的项目。 我们有我们的分公司从原来的分支离开。 但是,现在我们要创建一个小的新的项目跟踪一些文档。 为此,我们将要创建一个新的空分支开始储存我们的文件,我想网络的其他用户复制该分支。

我们怎样才能做到这一点?

我尝试了一些东西,但他们没有工作。

$ mkdir proj_doc; cd proj_doc
$ git init
$ git add .
$ git commit -m 'first commit'
$ git br proj_doc
$ git co proj_doc
$ git br -d master
$ git push origin proj_doc

这似乎推分支确定,但是当我做一个获取或拉,它从下载其他部门的信息,然后我也从其他项目得到一些额外的文件。 什么是最好的解决方案?

Answer 1:

你可以创建一个分支作为一个孤儿:

git checkout --orphan <branchname>

这将创建一个没有父母的一个新的分支。 然后,您可以清除工作目录有:

git rm --cached -r .

并添加文档文件,提交他们,推动他们高达github上。

上拉或fetch会随时更新所有的远程分支机构的本地信息。 如果你只是想拉/读取单个远程分支的信息,你需要指定它。



Answer 2:

正确的答案是创建一个孤儿分支。 我将解释如何做到这一点的细节在我的博客: http://sidja.in/post/62663941071

...

在开始之前,升级到GIT的最新版本。 为了确保您运行的是最新版本,运行

 which git 

如果吐出来的旧版本,您可能需要使用包含您刚刚安装的版本的文件夹,以增加你的PATH。

好了,我们准备好了。 做一个cd到包含您的git的结帐的文件夹后,创建一个孤儿分支。 在这个例子中,我将其命名分支“mybranch”。

 git checkout --orphan mybranch 

在孤儿分支删除一切

 git rm -rf . 

做一些修改

 vi README.txt 

添加并提交更改

 git add README.txt git commit -m "Adding readme file" 

而已。 如果你运行

 git log 

你会发现,提交历史从头开始。 要切换回master分支,只需运行

 git checkout master 

您可以通过运行恢复到孤儿分支

 git checkout mybranch 


Answer 3:

作出这样一个空的新的分支:

true | git mktree | xargs git commit-tree | xargs git branch proj-doc

如果您的PROJ-doc的相关文件已经在一个子目录下的提交可以让新的分支是这样的:

git commit-tree thatcommit:path/to/dir | xargs git branch proj-doc

这可能是比更方便git branch --orphan是否会离开你有很多的git rmgit mv ING做。

尝试

git branch --set-upstream proj-doc origin/proj-doc

,看看是否与你的抓取太太大的问题有所帮助。 此外,如果你真的只希望获取一个分支最安全的做法,只是指定它的命令行。



Answer 4:

如果Git版本没有--orphan选项,这种方法应该是使用;

git symbolic-ref HEAD refs/heads/<newbranch> 
rm .git/index 
git clean -fdx 

做一些作品后

git add -A
git commit -m <message>
git push origin <newbranch>


Answer 5:

比方说,你有一个master分支的文件/目录:

> git branch  
master
> ls -la # (files and dirs which you may keep in master)
.git
directory1
directory2
file_1
..
file_n

一步一步如何创建一个空分支:

  1. git checkout —orphan new_branch_name
  2. 请确保您在执行以下命令之前正确的目录:
    ls -la |awk '{print $9}' |grep -v git |xargs -I _ rm -rf ./_
  3. git rm -rf .
  4. touch new_file
  5. git add new_file
  6. git commit -m 'added first file in the new branch'
  7. git push origin new_branch_name

在步骤2中,我们只需在本地删除所有文件,以避免对您的新分支中的文件和你保持那些混乱master分支。 然后,我们取消链接步骤3.最后,第4步所有这些文件之后与我们的新的空分支上工作。

一旦你做,你可以轻松地将分支机构之间进行切换:

git checkout master 
git checkout new_branch


文章来源: How to create a new empty branch for a new project