




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、git工具使用规范文档编辑时间编辑人描述备注2015-02-03上健伟整理git使用以及提 交规范目录一、git提交规范3二、第一次初始配置3三、提交代码(这部分只是针对本地代码库,所冇操作都没冇涉及服务器)4四、远程服务器取、推代码。(与服务器交互)5五、切换到分支下工作5六、分支下常用命令6七、具体使用细节7(一)、git代码状态转换图7(二)、git的个人本地使用及操作7(三)、git的团队开发及操作8(四)、git的分支管理9一、git提交规范在commit是,如果冇对应pr,请在第一行写上pr号,然后再描述信息(另 起行),并把涉及到改动的文件名附上.具体操作如下(不用git com
2、mit -m填写说明):1、如杲提交全部文件(请先git status确认是否要提交所有改动)1.1 git commit -a1.2在打开的编辑器中(默认为vim)第一行填写pr号(顶格写,多个pr 用逗号隔开,要写全),然后再写说明。1.3把涉及修改文件路径前的#去掉,就会提交,不用手工输入文件路径。 1.4然后esc输入:wq退出vim.2、如果提交部分文件2.1分别git add要提交的所有文件。2.2 git commito2.3以后步骤同上。二、第一次初始配置1、第一次取出代码到本地需要克隆代码(从服务器取代码到本地),一般如 果新建一个本地代码库都需要重新克隆一次代码。命令:gi
3、t clone git:/服务器代码库地址2、第一次使用git环境一般应该配置你的用户信息,这样会方便别人与自己 杳看git提交代码记录。命令:$ git config -global zhangsan$ git config -global user.email zhang.san这里使用的一global,以后的所有项目都默认使用这个配置,这时写入的 是用户主目录的git配置文件(跟曲以鹏在邮件里边说的那个“gtconfig” 文件应该是一冋事),如果想改变其中一个项目的配置可以去掉一global 重新配置如:命令:$ git config lisi杳
4、看这些配置信息,如: 命令:$ git config -list3、修改编辑器,一般我们在git commit (提交)后,需要添加pr号或者添 加注释信息,对于编辑可以选用口己习惯的编辑器如:vi命令:$ git config -global core.editor vi提交代码(这部分只是针对本地代码库,所有操作都没有涉及服务器)1、提交代码过程大家都非常熟悉,平吋常用几种命令,如:$ git add file -> $ git commit 或者 全部提交:$ git commit -a 当中可能经常使用如$ git status查询状态、$ git diff比较不同。 下面总结了
5、一些以上过程中比较、撤销等好用命令。2、木地操作代码库状态本地操作后,本地代码库会有三种状态:修改、暂存、提交。git add后就从修改变为暂存,git commit后就从暂存变为提交。1)>各个状态比较命令如:修改与暂存比较不同:$ git diff <文件路径 暂存与上次提交比较不同:$ git diff -cached v文件路径2)、将文件从暂存移除变为修改状态,一般git add后发现添加文件多了,可以使用命令如:$ git reset head <file 路径3)、修改提交文件,代码提交以后会产生一个哈希值类似 (al24b9da6552252987aa493b
6、52f8696cd6d3b003)字符串,以后 可以根据哈希值回到相应版本。对于刚刚捉交的代码很容易忘记写注释(pr)或者漏捉交了部分 文件,这时可以使用命令修改上次的提交:$ git commit -amend 如果添加注释可以童接执行命令,填号注释保存。如果添加文件先执行$ git add后 执行$ git commit -amend3、查看以前捉交情况1)、查看某人提交日志命令:$ git log -author=zengyun2)、搜索捉交日志(根据第一行的pr号)命令:$ git log -grep=pr000667740这里边的pr号一定在第一行写,如果多个pr号请用隔开。3)、查
7、看某文件夹log命令:$ git log framework/base/core/java/android/4)、查看每次提交信息命令:$git log-p-22表示最近两次捉交。5)、查看某次提交的详细信息命令:$ git show 5ba47ce9ceb4c5db86563c03c6833ee47bd22a536)、如果精确查找显示可以将上面1)、2)、3)、4)组合使用。四、远程服务器取、推代码。(与服务器交互)前而捉过克隆命令:git clone git:/服务器,它实现过程实际上是创建本 地分支master,并且去服务器代码到本地。1、取代码从服务器命令:$git pull2、推代码
8、到服务器命令:$ git push在主分支下,不用指定分支名称,系统会默认为pull主分支。五、切换到分支下工作目前各种定制越来越多,作为使用者如何直接进入分支,开展我们的开 发工作。下面以卬度分支为例进行说明:1、克隆代码,命令:git clone git:/31/home/android/workspace/app7627_5330注:(如果本地冇代码则没冇此步)一2、确定当前分支所在, 命令:git branch 例如:lnida_mmx* master表示当而所在分支是主分支master3、如果第一次克隆代码,使用git branch查询时候发现只有master分
9、支, 在切换到lndia_mmx分支时候,需要执行命令:git checkout origin/lndia_mmxz后会有提示,然后再执行卜面命令:git checkout -b lndia_mmx4、如果印度分支已经存在,具体方法如下: 命令:git checkout lndia_mmx六、分支下常用命令1> pull代码命令:git pull origin lndia_mmxpush提交代码命令:git push origin lndia_mmx2、切换到主分支命令:git checkout master如果切换的过程出现merge失败,使用$ git status命令查看哪些文件不
10、 能 merge, z后手动 merge。1、查看所有分支(服务器与本地)命令:$ git branch -a2、杳看当前分支下最新提交信息命令:$ git branch-v七、具体使用细节(一)、git代码状态转换图其中:未被git跟踪的状态为unstage状态己经被git跟踪的状态为stage状态,因此包括staging状态和staged状态untrack files是指尚未被git所管理的文件;changed but not updated是指文件被git管理,并且发 生了改变,但改动还没被git管理;这两种状态,都可以看成是改动还没被git管理的状态,我 们这里称非stage状态。ch
11、anges to be commited是指进入stage状态的文件,stage是commit和木管理之间的个状态, 也有别名叫index状态,也就是git己经管理了这些改动,但是还没完成提交。.gitignore中的文件,不会出现在以上三个状态中。(二)、git的个人本地使用及操作1, 创建git库cd源码冃录git init#初始化 在源码fl录内生成一个.git的冃录2, 注册用户信息git config -global xxx 用丿'名 git config -global user.email xxx 用户邮箱git config 一 list#杏看用户信
12、息3, 向git库中添加或删除文件git add xx git add #加单个文件#加所有git add path会把对应目录或文件,添加至!i stage状态git add .会把当前所有的 untrack files 和 changed but not updated 添加到 stage 状态4, 向版本库提交变化 git commit - m ''xxxx'' git statusgit loggit log - pgit show sdjf974654dd.#直接添加简单捉交信息,添加注释#杏看当前代码库的状态#查看版木信息#查看版本信息并显示每次修改
13、的diff#查看指定版木信息#(show后面为每次提交系统自动生成的串哈希值)git show sdji97#般只使用版本号的前儿个字符即可5, 撤销与恢复git resetgit reset -hard#冋到原来编辑的地方,改动会丢失。# (同样适用于团队对于其他人的修改恢复)git reset -hard sdvl43kvf #可回到指定的版本#(hard后面为每次提交系统自动牛成的一串哈希值)git reset path会改变path指定的文件或目录的stage状态,到非stage状 git reset会将所有stage的文件状态,都改变成非stage状回退个change的写法就是git
14、 reset heada, 2个为headaa, 3个为head3,以此类推。6,向服务器提交变化git push#向服务器提交7,暂存改动git stash可以把当前的改动(stage和unstage,但不包括untrack的文件)暂存。然后通过 git stash list査看。并通过git stash apply重新取出来。但apply之前要保证worktree是干净 的。(三)、git的团队开发及操作1, 获取项flcd本地工作日录(白定)git clone服务器帐户ip:项目.根路经这里具体操作为:git clone git2: android2.2.git说
15、明:这里假定服务器的用户名为git,服务器ip为2,项目名为android2.2,根路经为git的home (即根路径)2, 团队开发的基本流程git add改动的文件git commit # (提交至木地)git puii # (将服务器项口为本地项口合并)git push # (将本地项冃上传至服务器)(在提交前要git pull -rebase 下,确保当前的本地的代码为最新。)(四)、git的分支管理git分支操作在本地建立分支,然后与本地主枝合并,最终提交到服务器。有效的避免了因 个人操作不当向服务器提交过多脏数据,避免频繁git clone服务器来更新本地库。分支操作指令:1, 建立分支git branch aaa#建立分支 aaa2, 分支切换git checkout aaa#从当前分支切换到aaa分支git checkout mastergit merge aaa4,当前分支查看git bra nch3, 将分支与主枝
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店产权归属协议书
- 茶地种植合同协议书
- 配合申报工伤协议书
- 人工费调整补充协议书
- 办公室家具供货协议书
- 邻居旧房拆建协议书
- 集体商铺转让协议书
- 进京车辆租赁协议书
- 菜鸟驿站合伙协议书
- 餐饮海鲜合作协议书
- 科学探究二力平衡说课课件
- 城市供热管网施工中的重点难点分析及应对措施
- 痛风诊疗规范2023版课件
- 【MOOC】走近国粹 中国陶瓷-中国地质大学(武汉) 中国大学慕课MOOC答案
- 2024年G1工业锅炉司炉理论考试1000题及答案
- 【MOOC】颈肩腰腿痛中医防治-暨南大学 中国大学慕课MOOC答案
- 安全法规-终结性考试-国开(SC)-参考资料
- 公司用工协议书简单范本(2篇)
- 第三单元《增强法治意识》测试卷-高二思想政治课《职业道德与法治》附答案
- 教育革新:2024版《认识交通标志》课件
- (高清版)DB4202∕T 39-2024 城市桥梁与隧道运行监测技术规范
评论
0/150
提交评论