git常用指令

2021-08-28 14:37:55 字數 3824 閱讀 5674

git push (使用ssh協議,不能用http協議)

.git/config 下內容:

head:refs/for/msm8909-l 或

git  

push

ssh://gerrit/platform/kernel  head:refs/for/msm8909-l

也可使用 git config -l 檢視分支情況及提交資訊, 完成提交

git clone ssh:

git reset –hard head~3 

//回退commit到本地庫的3次提交

git reset --hard commitid 

//將本地修改回退到當前id對應的提交狀態,如果該id為中間某個節點, 則將該id之後的所有節點回退

git revert commitid

//回退指定commitid的提交,只回退本id,不影響其前後的id

repo forall –c git log > commit.txt

//顯示所有資料夾下的**提交

git diff > ***.patch   //

打patch

patch –p1 < ***.patch  //

同步patch

git aplay ***.patch  //

同步patch

git status

git commit

git commit --no-verify   //no code format check,  but use this method will no change id, so you should use git commit --amend

git init //

建立新庫

repo sync  //

repo sync platform/kernel //

//將整套**回退到2018-11-02號13:21時刻的節點

repo forall -c 'commitid=`git log --before "2018-11-02 13:21" -1 --pretty=format:"%h"`; git reset --hard $commitid' 

引數說明:

forall  操作分支中的所有倉庫

-c  只操作當前分支

--before  早於指定時間點的提交記錄

-1  只顯示最近的1條記錄(注意這是數字 1 ,如果要顯示 2 條就寫 2,以此類推)

"2017-03-17 07:00"  希望回退到的日期(時間點)

--pretty  以指定格式顯示提交記錄

%h  提交記錄的hash值,即commit id(其它格式及更詳細的資訊可以使用命令git log --help列印幫助資訊並檢視「pretty formats」小節)

命令含義:

這條repo命令的實質就是在當前分支的每個倉庫下執行git log命令,找出該倉庫下符合時間條件的第乙個提交記錄,然後對該倉庫執行git reset --hard操作。就這麼簡單。

注意事項: 命令裡的單引號'以及`要注意區分! 前後兩個是單引號' 當中兩個是`

舉例: repo forall -c 'commitid=`git log --before "2017-04-15 07:00" -1 --pretty=format:"%h"`; git reset --hard $commitid'

git commit --amend  //

第一次提交到庫上的檔案有點問題,通過這條命令修改上次提交的注釋並git push後兩次的提交合併為一條

git commit

到本地的修改撤銷後如何恢復:

git reflog

git reset --hard commitid  //commitid

為git reflog列出的需要恢復的id

git cherry-pick commitid 

//選擇

某乙個分支中的指定commit合併到本分支或其他分支中

,而不用關注其前後修改

分支相關:

建立遠端跟蹤分支:

git checkout --track remote/caf/msm8909-l -b mybranch

建立乙個遠端跟蹤分支branch1

git remote add branch1 ssh:

git remote show  檢視建立的分支

但git branch 看不到

git fetch branch1  

//之後git branch -a可以看到

檢視所有分支   git branch -a
檢視本地分支  git branch

檢視本地分支跟蹤的遠端分支 git  branch –vv

git branch branchname //

建立分支

git checkout branchname //

切換分支

git branch –d branchname //

刪除本地非跟蹤分支

git log:

git log //

基本檢視用法

git log file1 file2  

//檢視file1檔案file2檔案的提交記錄

git log file/   //

檢視file資料夾下所有檔案的提交記錄

git show --stat commitid

//顯示單個提交的修改檔案記錄

git log --stat commitid

//顯示該提交記錄之前的所有修改檔案記錄

git show cimmitid > ***.patch //

把本地乙個提交打成patch

git log -p --author=lvrongguo > ***.patch

//把在遠端的所有修改打成patch

git log --name-only  //

以只顯示檔名的方式檢視

git checkout -- file //

單獨同步某個檔案

git log --author=lvrongguo  //

顯示某人的提交記錄

git log --oneline  //

單行顯示所有log

git log --pretty=oneline file //

顯示某個檔案的修改記錄

git whatchanged file //

顯示某個檔案的詳細修改記錄

管理自己的**:

git init

git add .

git commit -am 「***」

·git add -a  提交所有變化

·git add -u  提交被修改(modified)和被刪除(deleted)檔案,不包括新檔案(new)

·git add .  提交新檔案(new)和被修改(modified)檔案,不包括被刪除(deleted)檔案

Git 常用指令

首先需要建立乙個repo,這是cd到資料夾底下,然後init。git init 在檔案系統裡面的檔案如果不新增到git的repo裡面,不會自動被git辨識,需要手動新增,這也是初始化repo是必須要做的事。git add documentation txt git add git sh 刪除檔案,分...

git常用指令

git 常用命令 git init here 建立本地倉庫 repository 將會在資料夾下建立乙個 git 資料夾,git 資料夾裡儲存了所有的版本資訊 標記等內容 git remote add origin git github.com winter1991 helloworld.git 把...

git常用指令

git config global user.name robbin git config global user.email fankai gmail.com git config global color.ui true git config global alias.co checkout g...