Git常用命令记录

Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

1. git clone下载默认最新版本

比如:git clone http://xxx/xxx

 

2.    git checkout xxx,这里的xxx是commit id

怎么获取commit id呢?可通过gitlog > log.txt来获取,比如:

commit xxx

Change-Id: yyyy

change-id是gerrit的,这是一种免费、开放源代码的代码审查软件

 

3.    git status查看本地修改的文件

git status -s得到更紧凑的信息。

Git logsrc/preview-kit/Linux-2.6.34/drivers/usb/gadget/mv_gadget.c

   ----显示关于这个文件所提交的commit

git log -p src/preview-kit/linux-2.6.34/drivers/usb/gadget/mv_gadget.c

  ----显示关于这个文件所提交的commit,同时把修改的内容也显示出来。

4.    git log的时候最下面有个“:”,这是要退出,输入q即可

5.    git add b.txt增加文件

6.    git commit -m "test2"

输出内容:

[master 6af26f5] test2//提交到分支master,提交的SHA-1校验和是6af26f5,提交的说明性描述内容tetst2
 1 file changed, 1 insertion(+), 1 deletion(-)//1个文件修改的提交,源文件新增1行和删除1行。

7.    删除文件

我们可以直接在目录下删除或是使用命令删除rm b.txt

git rm a.txt

git commit

8.    恢复删除的文件

git checkout --device/qcom/sepolicy/common/file_contexts

9.    生成每次commit的patch文件

git show commit-id > ***.patch

 

10.  git -diff aboot.c输出的是补丁,查看尚未添加到缓存区的变更

---a/bootable/bootloader/lk/app/aboot/aboot.c

+++b/bootable/bootloader/lk/app/aboot/aboot.c

--- 表示以前的,+++ 表示修改过的

--- /dev/null-------表示之前没有对应的文件

+++ bootable/bootloader/lk/dev/gcdb/display/video.h

 

git diff --staged//也可以是--cached,staged表示已暂存,查看有哪些已暂时(git add)的内容会进入下次提交(git commit)

这时候我git diff --staged看到的就是我们git add后已暂存待提交的版本,但又不是修改后的版本

Kconfig的文件修改就是增加了#sundi,git diff查看结果如下:

也可以用git difftool图形化的方式来查看

11.  git show 显示最近一次的commit

12.git remote remove origin---删除远程地址

13.git remote add origin http://x.x.x.x:9000/customer/git_project_name.git增加新的远程地址

14.git pull获取远程代码到合并到本地代码

15.git checkout branch_name 切换到branch_name分支。

16. git branch -D branch_name删除本地分支branch_name

17.git branch -a查看所有的分支信息:本地和远程所有分支

如图,一般当前本地分支前带有“*”号且为绿色,远程分支为红色

18.git remote -v 列出当前程序对应的所有远程版本仓库的信息,含仓库名和仓库地址 . ( v 是verbose 的缩写,冗余 )

 

 

 

19.忽略文件

在git仓根目录下创建.gitignore文件,比如:

*.[oa]//告诉git忽略所有以.o和.a结尾的文件

*~//告诉git忽略所有以波浪号(~)结尾的文件

build/忽略build/目录下的所有文件

Github维护了一份相当全面的.gitignore参考示例列表,覆盖了数十个不同项目和语音,可以作为自己项目的参考。

20. git init命令会默认创建master分支,它并不是一个特殊的分支,与其他分支没有什么区别,只是我们大多数人都懒得去更改他

21.把建立仓库时被忽略的.S汇编文件提交git add  -f art/runtime/interpreter/mterp/out/*.S

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

loongembedded

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值