您的位置:首页 > 其它

git操作常用命令

2016-08-25 23:05 239 查看
git操作常用命令

1、克隆代码到本地

git clone git@192.168.128.204:huaqin/mt6732_kk_mp

2、切换到项目分支

在项目目录下的命令行运行以下命令,将本地代码切换到代码提交分支“3252_trunk_sp_sw1”:

git checkout 3252_trunk_sp_sw1

3、克隆代码到本地,并切换项目分支

git clone git@192.168.128.204:huaqin/mt6732_kk_mp -b 3252_trunk_sp_sw1

本地代码的修改与提交

1)在对本地代码进行修改与提交之前,最好先运行:

git pull

将本地代码更新至服务器最新代码,然后再进行修改或提交(这是一个值得推荐的习惯,可以降低提交时出现冲突的概率)。

2)本地修改与提交

a. 查看当前代码修改状态,可运行以下命令:

git status

git会列出git管理目录的修改状态。

b. 查看当前代码与服务器上代码不同之处:

git diff

c. 将某个文件的内容加入到索引中(add)/从索引中删除(rm),在提交前必须先对修改的文件执行该操作

git add/rm

d. 在进行本地提交时,执行以下命令:

git commit -m “提交注释内容”

注释请参考注释规范,并按照注释规范进行填写,具体规范如下:

[ROM][BUG ID] <project>_ < customer>_ <module >_[reviewer] ,<descriptions>

这一标准可能会根据项目而有微调,例如在提交Doov AL820项目修改时的几个例子为:

[ROM] al820_framework_liumin: 对话框取消、确认按钮交换位置,修改actionbar返回按钮

[ROM] lockscreen_xuqian: update lockscreen apk

[ROM][HQ00056013]Camera_zhoubin: 更新apk,增加httpmime-4.1.3.jar文件,解决联网状态相机挂掉的问题

其中的BUG ID,在有CQ号的情况下应使用对应CQ号,在没有CQ号时应使用以下公共BUG_ID:

HQ00055994 代码优化

HQ00056012 UI优化

HQ00056013 代码升级

HQ00056015 配置管理

e. 需要查看已经提交的(包括自己和他人)修改注释,请使用下面命令:

git log

即可查看到以往提交的注释信息。

如果本地提交中途或是提交已经完成,发现有提交错误,想要回退的话,git也都可以办到。处于以下几种状态时分别使用不同的命令撤销:

modified: git checkout

cached: git reset HEAD <filepath>

committed: git reset –-hard <commit_id>

修改最近一次的log: git commit –amend

其中,modified指已修改但未git add或git rm;cached指已经add或rm过,但还没有commit;commit以后可以用上面第三条指令来恢复到指定的

某一次提交状态,执行后会丢失该次提交后的所有内容和没有提交的所有内容。另外,使用以下命令:

git revert HEAD

这样就创建了一个撤消了上次提交(HEAD)的新提交。

远程提交

1)同步提交至远程分支

在本地提交结束后,我们需要将修改提交到服务器上去。运行命令:

git push

或:git push 分支名称(如:3252_trunk_sp_sw1)。

提交命令执行后,请注意观察返回结果是否显示提交成功。如不成功则需要分析原因,常见原因包括代码不同步

(应先执行git pull同步代码;或由于网络问题,代码被加锁等原因无法执行git pull命令)等。

2)在线查看提交结果(非常重要)

如AL820 Doov项目在线查看链接:
http://192.168.128.204/gitweb/?p=huaqin/mt6732_kk_mp.git;a=shortlog;h=refs/heads/3252_trunk_sp_sw1
用户名:admin 密码:admin

以上链接用来筛选、对比查看提交内容。在git push命令执行后,在这里可以确认提交是否成功,并再次确认提交了哪些文件。

另外,还可以使git remote –v来查看已经克隆的远程分支;使用git branch –a来查看所有远程分支;

使用git log origin/<branch_name> -n来查看远程分支的log(效果类似于上面的链接)。

##############################################################################

##################################################################################

实际应用举例

下面将对前三节所介绍的git命令举例(Doov AL820项目),来更具体地展现使用它们的过程。

1)获取代码

首先应生成并上传公钥(具体方法可以通过:华勤信息主页--->IT支持--> <信息技术部FAQ>的IT问题 --->搜索“git”,找到文档:

使用git服务器,公钥生成和上传文档)。在本地磁盘上想要保存项目代码的目录下运行终端,运行命令:

git clone git@192.168.128.204:huaqin/mt6732_kk_mp -b 3252_trunk_sp_sw1

获取项目代码并切换到3252_trunk_sp_sw1分支。切换到该分支后,还可以随时使用git pull来将本地代码与远程代码同步。

2)本地修改与提交

对于更新APK文件来讲,将APK文件更新后(放置在项目目录下vendor/fineos/apps/应用名目录/),

运行git status可以查看到当前目录的状态。确定修改无误后(没有覆盖或修改不想修改的文件),运行命令:

git commit –a -m “提交注释内容”

根据注释填写规范来填写注释,在提交成功后可以使用

git log -2(“2”表示显示几条log)

来查看验证提交的内容是否正确。

如果此时发现提交错误,可以使用命令:

git reset --hard HEAD~1

来将提交回退至未提交前(但此次提交的内容将全部丢失)。

3)远程提交

在确定本地提交正确无误后,首先运行

git pull

来将本地代码与远程代码同步,然后运行命令:

git push

来将本地提交结果上传至远程代码当中。在显示提交成功后,访问网址:
http://192.168.128.204/gitweb/?p=huaqin/mt6732_kk_mp.git;a=shortlog;h=refs/heads/3252_trunk_sp_sw1
查看提交的结果(用户名与密码均为admin),点击单个条目还可以查看提交的详细信息,包括修改了哪些文件等。

在验证提交结果正确之后,整个代码获取、修改和提交的流程就到此结束,此后再有修改,只需重复2)和3)即可再次修改代码并提交。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: