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地址,就要到服务器,去查对应的转换名。
my project 中git使用过程(基本操作流程)的更多相关文章
- git rebase 过程中遇到冲突该怎么解决?
在执行git rebase 过程中经常遇到问题,此时有点慌,一般如何解决呢? 1.先将本地的冲突手动解决 2.执行下面命令 git add . git rebase --contine //继续re ...
- SVN迁移到Git的过程(+ 一些技巧)
SVN迁移到Git的过程(+ 一些技巧) 李顺利 Key Words SVN,Git,Clone,Conversion,Tips,VCS,Pro Git 关于在VCS中SVN和Git之间的迁移(Clo ...
- SVN迁移到Git的过程(+ 一些技巧
关于在VCS中SVN和Git之间的迁移(Clone)这个部分网上已经有大批的文章介绍,而且都非常不错,能够满足我们的常见的需求,这里介绍的是我自己整理的一些技巧和使用中出现的一些问题和疑问.阅读本篇文 ...
- Xcode 中 Git 的配置与使用
Xcode 中 Git 的配置与使用主要围绕下面几个问题展开阐述: 问题1,如何在Xcode中创建本地代码库,并添加和提交代码到本地代码库? 问题2,如何在Xcode中提交推送给远程服务器代码库? 问 ...
- git 使用过程(一、准备工作)
没有多余的废话,只是纯粹的捞干的记录下一自己使用Git的过程.(正在学习中,也是刚接触,记录过程可能有点乱.等熟悉之后在重新整理一下) 一.先下载git客户端 网址:http://msysgit.gi ...
- Android开发过程中git、repo、adb、grep等指令的使用
chown 是一条在Unix系统中用于设置文件所有者和文件关联组的命令. 需要超级用户的权限才能执行此命令.只有超级用户和属于组的文件所有者才能变更文件关联组.非特权用户(非超级用户)如需要设置关联组 ...
- git 团队开发常用操作流程(适用于 gogs、gitlab、github)
git 团队开发常用操作流程(适用于 gogs.gitlab.github) NO1 项目构建者 (1)在远程仓库创建仓库 (2)将伙伴添加到仓库合作者中(无先后要求) (2)cd 到项目将要存放项目 ...
- Eclipse 中Git的使用及如何解决冲突
1. 如何导入已有Git项目 1.1 File——>import… 出现以下界面 1.2 找到Git,然后双击‘Project from Git.或者点击next 1.3 双击Clone URI ...
- idea中git pull push需要反复输入密码
在使用idea开发的过程中,在终端terminal中git pull和git push时遇到一个问题,一个是 每次提交都需要输入用户名和密码,,从网上找了下解决方案,记录一下. 解决: 打开git终端 ...
随机推荐
- Docker的Etcd项目
etcd 是 CoreOS 团队发起的一个管理配置信息和服务发现(service discovery)的项目,在这一章里面,我们将介绍该项目的目标,安装和使用,以及实现的技术. Docker的etcd ...
- YAML 在Python中的配置应用
环境搭建 YAML语法 语法规则 数据结构 列表数组 原子量 YAML应用 案例 load dump 总结 YAML是一个堪比XML,JSON数据格式的更加方便,简洁的,易于人眼阅读的序列化数据格式. ...
- ThreadLocal深入剖析
JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地编写出优美的多线程程序,Threa ...
- Mac入门——快捷键
快捷键: 截图 Shift+Command+3 截取全屏幕至桌面 Shift+Command+4 截取部分屏幕至桌面 Shift+Command+4+空格 截取窗口或原件至桌面 Shift+ ...
- zookeeper分布式锁
摘要:分享牛原创,zookeeper使用,zookeeper锁在实际项目开发中还是很常用的,在这里我们介绍一下zookeeper分布式锁的使用,以及我们如何zookeeper分布式锁的原理.zooke ...
- Hadoop的RPC通信原理
RPC调用: RPC(remote procedure call)远程过程调用: 不同java进程间的对象方法的调用. 一方称作服务端(server),一方称为客户端(client): server端 ...
- SSH 之 Spring的源码(一)——Bean加载过程
看看Spring的源码,看看巨人的底层实现,拓展思路,为了更好的理解原理,看看源码,深入浅出吧.本文基于Spring 4.0.8版本. 首先Web项目使用Spring是通过在web.xml里面配置 o ...
- [Python]多个装饰器合并
django程序,需要写很多api,每个函数都需要几个装饰器,例如 @csrf_exempt @require_POST def foo(request): pass 既然那么多个方法都需要写2个装饰 ...
- 解决Setting property 'source' to 'org.eclipse.jst.jee.server的问题
对于这个问题,我相信我的方法已经能帮90%的人解决了! 当你用Eclipse运行web项目的时候,你就会看到控制台出现: WARNING: [SetPropertiesRule]{Server/Ser ...
- makefile的命令包定义及使用
下面以\build\core\product.mk下面的内容为例介绍: define _find-android-products-files $(shell test -d device & ...