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地址,就要到服务器,去查对应的转换名。

my project 中git使用过程(基本操作流程)的更多相关文章

  1. git rebase 过程中遇到冲突该怎么解决?

    在执行git rebase 过程中经常遇到问题,此时有点慌,一般如何解决呢? 1.先将本地的冲突手动解决 2.执行下面命令 git add . git rebase --contine  //继续re ...

  2. SVN迁移到Git的过程(+ 一些技巧)

    SVN迁移到Git的过程(+ 一些技巧) 李顺利 Key Words SVN,Git,Clone,Conversion,Tips,VCS,Pro Git 关于在VCS中SVN和Git之间的迁移(Clo ...

  3. SVN迁移到Git的过程(+ 一些技巧

    关于在VCS中SVN和Git之间的迁移(Clone)这个部分网上已经有大批的文章介绍,而且都非常不错,能够满足我们的常见的需求,这里介绍的是我自己整理的一些技巧和使用中出现的一些问题和疑问.阅读本篇文 ...

  4. Xcode 中 Git 的配置与使用

    Xcode 中 Git 的配置与使用主要围绕下面几个问题展开阐述: 问题1,如何在Xcode中创建本地代码库,并添加和提交代码到本地代码库? 问题2,如何在Xcode中提交推送给远程服务器代码库? 问 ...

  5. git 使用过程(一、准备工作)

    没有多余的废话,只是纯粹的捞干的记录下一自己使用Git的过程.(正在学习中,也是刚接触,记录过程可能有点乱.等熟悉之后在重新整理一下) 一.先下载git客户端 网址:http://msysgit.gi ...

  6. Android开发过程中git、repo、adb、grep等指令的使用

    chown 是一条在Unix系统中用于设置文件所有者和文件关联组的命令. 需要超级用户的权限才能执行此命令.只有超级用户和属于组的文件所有者才能变更文件关联组.非特权用户(非超级用户)如需要设置关联组 ...

  7. git 团队开发常用操作流程(适用于 gogs、gitlab、github)

    git 团队开发常用操作流程(适用于 gogs.gitlab.github) NO1 项目构建者 (1)在远程仓库创建仓库 (2)将伙伴添加到仓库合作者中(无先后要求) (2)cd 到项目将要存放项目 ...

  8. Eclipse 中Git的使用及如何解决冲突

    1. 如何导入已有Git项目 1.1 File——>import… 出现以下界面 1.2 找到Git,然后双击‘Project from Git.或者点击next 1.3 双击Clone URI ...

  9. idea中git pull push需要反复输入密码

    在使用idea开发的过程中,在终端terminal中git pull和git push时遇到一个问题,一个是 每次提交都需要输入用户名和密码,,从网上找了下解决方案,记录一下. 解决: 打开git终端 ...

随机推荐

  1. JMeter(十三)-代理服务器录制脚本

    今天重点说一下jmeter如何利用自身的代理服务器录制脚本 1:工作台下创建代理服务器 2:配置代理,选择录制控制器 3:在Requests FIltering下添加排除模式,配置正则表达式.否则会录 ...

  2. try_files 居然有这种用法

    try_files 参考:https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ Use the tr ...

  3. Android服务——Service

    服务 Service 是一个可以在后台执行长时间运行操作而不使用用户界面的应用组件.服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行. 此外,组件可以绑定到服务,以与之进行 ...

  4. 让你的代码量减少3倍!使用kotlin开发Android(二) --秘笈!扩展函数

    本文承接上一篇文章:让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程 本文同步自博主的私人博客wing的地方酒馆 上一节说到,kotlin可以省去getter,se ...

  5. Docker学习笔记4: Docker-Compose—简化复杂容器应用的利器

    本文转载自http://www.tuicool.com/articles/AnIVJn. 因Python语言,个人也没学过,不是太熟悉,这篇文章的代码格式排版不准确爆了很多错,让我走了好多坑,不过还是 ...

  6. 1.Cocos2dx 3.2中vector,ValueMap,Touch触摸时间的使用.iconv字符编解码

     Cocos2dx3.2以后使用Vector<T>代替了CCArray.案例如下: 头文件:T02Vector.h #ifndef __T02Vector_H__ #define __ ...

  7. 自守数算法----C语言实现

    #include <stdio.h> //自守数算法 //ep : 25 ^ 2 = 625 76 ^ 2 = 5776 9376 ^ 2 = 87909376 /*ep : * 376 ...

  8. Android Multimedia框架总结(一)MediaPlayer介绍之状态图及生命周期

    请尊重分享成果,转载请注明出处: http://blog.csdn.net/hejjunlin/article/details/52349221 前言:从本篇开始,将进入Multimedia框架,包含 ...

  9. 14 Fragment的V4包的使用

    activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android ...

  10. UNIX网络编程——tcp流协议产生的粘包问题和解决方案

    我们在前面曾经说过,发送端可以是一K一K地发送数据,而接收端的应用程序可以两K两K地提走数据,当然也有可能一次提走3K或6K数据,或者一次只提走几个字节的数据,也就是说,应用程序所看到的数据是一个整体 ...