我有一个不是通过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)
答案 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>