git常用命令

2021-07-04 15:49:11 字數 4407 閱讀 6875

git 常用命令:

平時用到就記下來的

撤銷某次本地提交:git reset  " 提交id"   git reset (撤銷所有本地提交)

刪除提交:git reset --hard 「」

刪除某一次提交:git revert 「」

提交刪除的檔案:git add -a

修改已提交:git commit --amend

無法repo:先git checkout ./  git clean -df 再 git pull

查詢所有:grep

「dsda

」* -r

檢視log修改:\git log 

–-grep=

」搜尋關鍵字」

查詢關鍵字:find . -name "*.mk" | xargs  grep " "

source wind/tiils/scripts/quick_build.sh  jgrep 「」

檢視本地修改:git diff  "id"  git diff (檢視所有修改)

建立並切換分支:repo start  stable  --all  

切換分支:repo checkout master

檢視分支:repo branches

刪除已經合併的分支:repo prune

刪除指定分支:repo abandon

合併多分支:將topic

分支合併到

master::repo forall –p –c git merge topic

檢視repo

的版本號:

repo version

用於自身的更新:repo selfupdate

上傳**到遠端伺服器:repo upload

顯示修改狀態:repo status

顯示專案差異:repo diff

內容查詢:repo grep

顯示manifest 

檔案內容:

repo manifest

檢視修改的 query_custom_file_status

檢視指令 source quick_build.sh

檢視root

許可權:adb remount

刪除檔案:rm –rf …

檢視系統某個值命令:adb shell getprop 「」

看當前介面:adb sehll     然後 :dumpsys activity | grep mfocusedactivity

usb連線上手機,手機需要其他操作;然後執行

adb工具;輸入不同的命令即可抓取對應的

log資訊。

抓取radio log

資訊命令:

adb logcat -b radio -v time >log_radio.txt 抓取

main log

資訊命令:

adb logcat -b main -v time >log_main.txt 抓取

event log

資訊命令:

adb logcat -b events-v time >log_events.txt

輸入這樣的命令 

enter

後log

資訊就自動生成了,

log_radio.txt log_main.txt log_events.txt

會在當前

adb執行的目錄下生成。

編譯命令:make product-sdk-sdk

單獨編譯: . build/envsetuo.sh

git log的篩選

git log -2 -p   顯示最近兩次

commit

的log 

和 diff

git log --author="author name" 篩選特定作者的

loggit log --since="2012-2-23" --before="2012-2-24" 篩選時間段

git log --grep="key word" 在

commit 

的message

中查詢關鍵字

git log branch --not master 檢視在

branch

上的,但不在

master

上的記錄。

git log -s"func_name"  查詢某個字元出現,或者移出的

commit

。 比如可以查詢乙個函式是什麼時候新增,或者刪除的。

git show sha1   這個

sha1

是每個commit

的sha1

,這樣顯示某個

commit

的完全資訊,包括

diff

在git diff

中git diff目的是比較兩個

commit

之間的區別。

git diff a b 和 

git diff a..b 

是一樣的,就是顯示這兩個之間的區別。

git diff a...b 和 

git diff $(git-merge-base a b) b

一樣。 就是顯示 在

b這個分支上,做了什麼改動。

有時候這個命令是,

git merge-base a b

1. 假如編輯到了某個版本,發現某個功能不起作用了,或者有

bug了。但是自己知道之前的某個版本是好的。

git bisect start

git bisect bad      現在這個版本是壞的

git bisect good good_commit   good_commit這個版本是好的

接下來編譯,測試。 如果是好的

git bisect good

如果還是不好

git bisect bad

這樣git

都會給你輸出某個中間的版本讓你繼續測試。

找到了錯誤,用

git bisect reset 恢復到原先的版本。

make  -j8 2>&1 | tee build.log

我在修改2.6.36

核心模組時,發現了

kmem_cache_create

的函式引數有所變化,

dtor

這個引數被刪掉了。

但是網上也搜不到相關的原因和變化。我就想到了git

中是不是有記錄。在高手的指點下,下面的命令可以

git log --grep='dtor' mm/slab.c

建立檔案:mkdir remote.git

建立遠端倉庫:git init –bare –shared

檢視下屬性和遠端關聯情況:git config –list

做一次簡單的提交

$ touch readme

$ git add readme

$ git commit -m "init version"

將本地倉庫推送到遠端

$ git push -u origin master(origin遠端主機名

)(master

本地分支名)

再次檢視分支結構

$ git branch -a(可以看到本地

master

已經關聯到了遠端)

master

remotes/origin/master

檢視與遠端分支的關聯情況

$ git remote -v(fetch和

push

的位址)

origin d:/my files/mybackup/oschina/project/../remote.git/ (fetch)

origin d:/my files/mybackup/oschina/project/../remote.git/ (push)

repo forall –c 「

git checkout .

」  對

repo

下所有的

git工程,把本地修改都撤消

1.source wind/tools/quick_build.sh

2.然後執行wind_lunch 專案名

編譯型別

編譯動作 ,該動作相當於android原生的lunch,只是它會把custom_files拷貝到android目錄

比如 wind_lunch e163 eng new (該部分引數不分先後順序)

該處的編譯動作,指的是拷貝哪部分的**出去,這是為了你後續自由編譯做準備動作

new指的是拷貝全部差異化**,kernel表示拷貝kernel部分**,pl表示preloader部分**,lk表示bootloader**

3.自由編譯**,比如make -j8 ,make snod,make bootimage,mmm, mm , mma,

常用命令 Git 常用命令大全

安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...

git 常用命令

檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...

git常用命令

詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...