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终端 ...
随机推荐
- Gradle 1.12用户指南翻译——第五十章. 依赖管理
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上 ...
- [Matlab+C/C++] 读写二进制文件
introduction 因为Matlab操作简单.方便,它被应用于很多领域:音频处理,图像处理,数值计算等.尽管MATLAB容易操作,但受限于他的语言解释机制,MATLAB的执行速度通常较低.C/C ...
- Android设置竖屏
Android设置竖屏(禁止旋转屏) 清单文件,Activity下添加属性 android:screenOrientation="portrait" 如下 <?xml ver ...
- How To Handle MLOG$_AP_SUPPLIER_SITES_AL, MLOG$_AP_SUPPLIERS Growing So Much? Having Lots of Data
How To Handle MLOG$_AP_SUPPLIER_SITES_AL, MLOG$_AP_SUPPLIERS Growing So Much? Having Lots of Data (文 ...
- ROS机器人程序设计(原书第2版)补充资料 (叁) 第三章 可视化和调试工具
ROS机器人程序设计(原书第2版)补充资料 (叁) 第三章 可视化和调试工具 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. ~$ rosl ...
- MyEclipse如何全局搜索
1全局搜索的启动方式 CTRL+H 2全局搜索自己选择搜索方式 自己选择要搜索的东西,简单吧,里面还有很多好玩的东西需要你去发现,加油! [正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之 ...
- React native和原生之间的通信
RN中文网关于原生模块(Android)的介绍可以看到,RN前端与原生模块之 间通信,主要有三种方法: 1)使用回调函数Callback,它提供了一个函数来把返回值传回给JavaScript. 2)使 ...
- IMDG中的陷阱和问题
陷阱 使用cache API时,一个最重要的问题就是潜在的数据加载.因为IMDG提供的分布式集合也都是实现的JDK的Map.Set等接口,以JDK的Map为例,它接口规定put和remove返回被替换 ...
- char能表示(-128~127)
char 的取值范围是 -128 ~127 注:数0的补码表示是唯一的: +0的补码=+0的反码=+0的原码=00000000 -0的补码=11111111+1=00000000(mod 2的8次方) ...
- iOS开发之Xcode8推出的WKWebView与UIWebView的使用
一.整体介绍 UIWebView自iOS2就有,WKWebView从iOS8才有,毫无疑问WKWebView将逐步取代笨重的UIWebView.通过简单的测试即可发现UIWebView占用过多内存,且 ...