多分支管理git仓库项目

前几天老大要求进行git版本仓库变更,即git仓库迁移,同时改为三个分支(dev、test、master)进行项目分支管理,之前项目只含有master一个分支。

解决仓库迁移的同时保存之前的commit记录?

(1)起初想到可以将新仓库地址的项目克隆下来,将原始的项目内容拷贝至新的项目目录,再将内容重新上传,但这样会覆盖掉以往的提交日志;假设当项目很庞大时,克隆和重新上传都需要花费大量时间。

(2)使用镜像,两步就可完成仓库的迁移。

①cd 进入本地仓库.git目录下;

②假设已知新的仓库地址,通过git push --mirror http://xxx//new-template.git将本地仓库推送到远端仓库,new-template为新仓库项目地址。

项目进行多分支管理?

dev:开发分支,用于平时项目开发。

test:测试分支,提供给测试进行项目测试的分支,dev与test分支内容随时保持一致。

master:主分支,项目发布、招标等用的分支。

**查看项目当前分支   git branch -a      //此时项目中只存在master主分支

(1)建立dev、test分支,并实现本地分支与远程分支的一一对应关系( dev-->origin/dev、test-->origin/test、master-->origin/master)。

①建立本地分支:git checkout -b test

②建立本地分支与远端分支的映射关系,之后再对该分支进行push和pull时就会自动同步:git push --set-upstream origin test

dev分支与test分支建立方法一致。

起初建立时三个分支的内容应该一样的,因此需要进行分支内容的合并。

③将当前分支合并至指定分支:git merge dev

④切换回主分支,查看所有分支。

接下来就可以对项目进行多分支的管理了。

解决分支合并时出现的问题?

(1)|MERGING情况?

撤销merge:git reset --hard head

(2)出现Please enter a commit message to explain why this merge is necessary.

按键“Esc”,输入“:wq”,回车键就会回到正常命令行页。

(3)解决git pull代码时或checkout分支时,出现:Please commit your changes or stash them before you ......这时出现两种情况。

想要保存本地修改只需三步:

①git stash //将当前工作区恢复到上次提交的内容,同时备份本地所做修改

②git pull  //拉取远程所做修改

③git stash pop //将备份的工作区内容还原到当前工作区

确认代码自动合并情况:git diff -w +文件名

放弃本地修改只需两步:

①git reset --hard

②git pull

发布了24 篇原创文章 · 获赞 3 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/sunny123x/article/details/102366455