如何从现有项目创建git分支

时间:2018-04-22 21:34:52

标签: git merge branch

我有一个不是通过git的项目,并希望在git下将其与其他项目合并。 Wat会采取措施吗?

git init
git remote add origin git@bitbucket.org:projectname/reponame.git
git pull origin master

然后git希望我提交任何东西来创建本地主分支。

git add something
git commit -m 'Initial'

但是我想要像新的分支一样做这个,好吧做新分支

git branch newbranch
git checkout newbranch

接下来是什么?我想保留我的主人并将其合并到newbranch。 当我再次尝试拉动时,我得到了这个:

git pull origin master
From bitbucket.org:projectname/reponame
 * branch            master     -> FETCH_HEAD
error: The following untracked working tree files would be overwritten by merge:
        .gitignore
        .htaccess
        ...
Please move or remove them before you can merge.
Aborting

如何告诉git - 好的吧! 最后我想要两个分支:master(因为它在原点)和merged newbranch(我现有的代码+ origin / master)

2 个答案:

答案 0 :(得分:1)

据我了解,您正在尝试将新分支与主分支合并。在这种情况下,您需要先检查主人而不是先将其拉出,

git checkout master
git pull origin master
git merge <your new branch name>
git push origin master

另外,可以做的是在分支上完成的最新更改可以使用git rebase选项与master合并

git checkout <branch name>
git rebase master

它将做的是,将最近在master上应用的更改应用。 在此之后,您可以签出主分支并快速合并。

git checkout master
git merge <branch name>

答案 1 :(得分:0)

首先,您必须提交所有代码。

提交代码后,请检查要保留内容的分支。执行git merge并且您有任何冲突,请检查您要保留的所需文件。

例如:

# Checkout the required branch (local or remote)
git checkout master

# merge the branches
git pull origin master

# in case you have conflicts:
# If you want to keep the version of your master use the --ours flag
git checkout --ours <file>

# second option if to merge use the merge strategy 
git merge -s recursive -X ours <branch>