git常见操作以及应用场景处理

1.已有项目,构建本地和远程的git仓库,创建一个初始化的源码库管理环境
  a.初始化创建远程仓库
    git init --bare \\100.0.6.141\sysvss\gitRepositories\TestGit.git
  b.初始化本地仓库,切换到需要初始化的本地仓库目录执行命令
    git init
    或者是通过Intellij的命令:
    VCS-->Import into Version Control-->Create Git Repository  选择你的本地项目
  c.将本地目录和远程目录关联起来,即增加Remote的仓库的url(需要为远程git repository起个名字,默认使用origin作为名字)
    git remote add origin \\\\100.0.6.141\sysvss\gitRepositories\TestGit.git

    //删除remote(如果remote的路径发生更改,可以删除之后重新建立remote)
    git remote rm origin
  d.执行本地的提交
    git add .  [或者VCS-->Git-->Add]
    git commit -m “init commit” [或者VCS-->Git-->Commit File]
  e.将本地代码提交到远端仓库
    git push -u origin master  [或者VCS-->Git-->Push]

2.分支管理策略
  a.Git主分支的名字,默认叫做Master。它是自动建立的,版本库初始化以后,默认就是在主分支上。
  b.所有的日常开发在Develop分支上进行,Develop分支可以用来生成代码的最新隔夜版本(nightly)
  c.另外可以创建一些临时性分支,主要可以分为两类:功能性分支(feature-*)和Bug修复性分支(bugfix-*)。它们属于临时性需要,使用完以后,应该删除,使得代码库的常设分支始终只有Master和Develop
    其中功能性分支是从Develop分支上面分出来的,开发完成合并到Develop分支,然后删除
    Bug修复性分支是从Master分支上分出来,开发完成之后合并到Master以及Develop分支,然后删除

3.分支常见操作
  a.列出所有分支,以及所处的当前分支.如果是当前分支,分支前会有*号标示
    git branch
  b.在当前所在的分支创建分支
    git branch bugfix_2210
  c.切换分支
    git checkout master [或者VCS-->Git-->Branches,然后可以在本地分支之间进行切换,或者从远程分支获取最新信息]
  d.删除分支
    git branch -D feature-1.0
  e.合并分支
   git merge --no-ff -m "merged bug fix 101" issue-101
   默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支,
   使用--no-ff参数后,会执行正常合并,并在Master分支上生成一个新节点,为了保证版本演进的清晰推荐都加上--no-ff参数


4.当前正在开发分支(Develop)上进行开发,这时候来了一个紧急的Bug修改任务,而有不想提交Develop上正在进行的开发,那如何处理?
  a.执行git stash,将当期工作现场“储藏”起来,等以后恢复现场后继续工作
  b.切换到Master分支,git checkout master
  c.创建新的分支,git checkout -b issue-101[或者git branch issue-101]
  d.切换到新的分支 git checkout issue-101
  e.如果修改完成之后,add、commit到本地仓库中
  f.合并分支到Master
   f1:切换到Master分支,git checkout master
    f2:然后合并分支,git merge --no-ff -m "merged bug fix 101" issue-101
    f3:切换到Develop分支,git checkout Develop
    f4:合并分支到Develop git merge --no-ff -m "merged bug fix 101" issue-101
    f5:删除分支 git branch -D issue-101

猜你喜欢

转载自herry.iteye.com/blog/2112092