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