my project 中git使用过程(基本操作流程)

1.g  it clone git@name:server/BM/APPS.git      

    则BM_APPS.git项目被下载到当前目录下了,这时git@name:server/BM/APPS.git就是自己的origin库。

2.为自己的仓库定义别名

    为方便以后操作,可给自己的仓库定义一个别名:

    #git remote add fork git@name:dev/zhangsan/BM/APPS.git

3.checkout 切换到当前的开发分支,作为工作分支

    git checkout origin/dev_sp4 -b dev_sp4 (也可以是

    等价与两条命令:git branch dev_sp4//先创建分支   再 git checkout dev_sp4)

4.将当前分支push到git Server上的fork库中

    #git push fork dev_sp4

    这时BM_APPS.git项目即为开发者zhangsan自己的仓库,它相当于是从git@name:server/BM/APPS.git中fork出来的。

5.在本地dev_sp4分支上开发,开发前要先同步代码

    git pull origin dev_sp4

开发者在本地进行开发(新建/修改文件)并提交(commit)。

    git add .

    git commit -a -m "<san_zhang@audiencetouch.com><BMS-749><dev><2011/05/03>fix BMS-749"

6.一般开发流程如下:

   开发人员有新的提交后,需要将提交push到自己的fork库中,操作如下:

   A.查看origin上dev_sp4分支的修改记录:

   #git fetch origin dev_sp4

   B.比较看和本地dev_sp4分支有没有改变:

   #git diff origin/dev_sp4

   C.如果有改变就要建立临时分支合并修改:

   #git branch dev_sp4_tmp

   #git checkout dev_sp4_tmp

   #git rebase origin/dev_sp4  这是远端的内容合并到当前分支(当前为tmp分支)

   D.如果有冲突就解决冲突再提交:

 一般过程为:

git rebase origin/dev_sp5 //同步最新代码出现冲突
git status //查看冲突文件
vi conflict_files //修正冲突文件
git add //重新添加文件到索引中
git commit //重新提交代码
git rebase --skip //跳过之前冲突的提交
git rebase --continue //继续rebase,直到完成

   E.将merge这部分修改合并到本地dev_sp4分支:

   #git checkout dev_sp4

   #git merge dev_sp4_tmp

可以看出总体是,先下载总库(fetch origin)到本地dev分支(rebase),在这个分支上进行开发后,有了提交(add,commit后)。先不能提交(总库可能有变化,别人提交了),此时再fetch 总库,并合到一个新建tmp分支,处理冲突后,将最新总库内容,合并到真分支(checkout 真分支,然后rebase或者merge tmp都行),最后删除tmp

   F.如果没有冲突就删除临时分支:

   #git branch --d dev_sp4_tmp

   G.推送代码到服务器上的fork库:

   #git push fork dev_sp4

 

最后通过邮件或其他方式告知管理员来合并代码。

 

 

 

 

aso项目git库:

查看 cat .git/config后

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = git@repo.allfuck.com:aso
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[branch "waterforest"]
        remote = origin
        merge = refs/heads/waterforest

url是个内部代理名。我的机器是内部网络机,直接用就可以访问到代理名指定的服务器。

想换成实际ip地址,就要到服务器,去查对应的转换名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值