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
總結
- 上一篇: 如何使用adb命令发送keyevent
- 下一篇: 一种通过U盘热插拔的升级方法