git常用命令集合
1、拉程式碼
git clone https://github.com/googlesamples/android-architecture.git 預設不填寫分支,拉取倉庫中的全部分支
git clone -b https://github.com/googlesamples/android-architecture.git -b後指定倉庫中的分支
2、強制遠端倉庫覆蓋本地倉庫(哥解決衝突的時候,就這麼霸氣)
git fetch --all
git reset --hard origin/master master是遠端分支
git pull 這個就不用啦
3、拉當前分支最新程式碼,應該哈
git pull
4、檢視當前分支的提交記錄日誌
git log
5、檢視記錄記錄,不過是單行展示每一次的提交哦
git log --oneline
6、按照提交的message,頭痛關鍵字keywords進行搜尋
git log --grep keywords
7、按照提交的作者名,進行搜尋
git log --author yourname
8、檢視本地當前分支
git branch
9、檢視所有遠端分支
git branch -r
10、拉取遠端分支並建立本地分支 (前提,當前的分支,一定沒有衝突哈,比如你正在master,master有衝突)
方式1:
git checkout -b 本地分支名x origin/遠端分支名x
使用該方式會在本地新建分支x,並自動切換到該本地分支x。
採用此種方法建立的本地分支會和遠端分支建立對映關係
方式2:
git fetch origin 遠端分支名x:本地分支名x
使用該方式會在本地新建分支x,但是不會自動切換到該本地分支x,需要手動checkout。
此種方法建立的本地分支不會和遠端分支建立對映關係。
11、切換當前本地分支,以及遠端分支
git checkout 分支名
12、我現在用上面的命令就能滿足需求呀
13、git add
提交本地所有修改檔案
14、git commit -m 評論內容, 然後提交到本地倉庫
15、比如一個提交的常見命令
簡單的程式碼提交流程
git status 檢視工作區程式碼相對於暫存區的差別
git add . 將當前目錄下修改的(當對Android Studio 中的app目錄,即Module,選擇Git的時候,就是所有程式碼從工作區新增到暫存區 . 代表當前目錄
git commit -m ‘註釋’ 將快取區內容新增到本地倉庫
git push origin master 將本地版本庫推送到遠端伺服器,
origin是遠端主機,master表示是遠端伺服器上的master分支,分支名是可以修改的
16、這裡插個嘴
a、Module的工程型別
plugin: 'com.android.library' 庫型別 apply plugin: 'com.android.application' 應用型別
17、寫的挺好的啊,我就給轉載過來了
Git add
git add [引數] <路徑> 作用就是將我們需要提交的程式碼從工作區新增到暫存區,就是告訴git系統,我們要提交哪些檔案,之後就可以使用git commit命令進行提交了。
為了方便下面都用 . 來標識路徑, . 表示當前目錄,路徑可以修改,下列操作的作用範圍都在版本庫之內。
git add .
不加引數預設為將修改操作的檔案和未跟蹤新新增的檔案新增到git系統的暫存區,注意不包括刪除
git add -u .
-u 表示將已跟蹤檔案中的修改和刪除的檔案新增到暫存區,不包括新增加的檔案,注意這些被刪除的檔案被加入到暫存區再被提交併推送到伺服器的版本庫之後這個檔案就會從git系統中消失了。
git add -A .
-A 表示將所有的已跟蹤的檔案的修改與刪除和新增的未跟蹤的檔案都新增到暫存區。
Git commit
git commit 主要是將暫存區裡的改動給提交到本地的版本庫。每次使用git commit 命令我們都會在本地版本庫生成一個40位的雜湊值,這個雜湊值也叫commit-id,
commit-id 在版本回退的時候是非常有用的,它相當於一個快照,可以在未來的任何時候通過與git reset的組合命令回到這裡.
git commit -m ‘message’
-m 引數表示可以直接輸入後面的“message”,如果不加 -m引數,那麼是不能直接輸入message的,而是會呼叫一個編輯器一般是vim來讓你輸入這個message,
message即是我們用來簡要說明這次提交的語句。
git commit -am ‘message’ -am等同於-a -m
-a引數可以將所有已跟蹤檔案中的執行修改或刪除操作的檔案都提交到本地倉庫,即使它們沒有經過git add新增到暫存區,
注意: 新加的檔案(即沒有被git系統管理的檔案)是不能被提交到本地倉庫的。
Git push
在使用git commit命令將修改從暫存區提交到本地版本庫後,只剩下最後一步將本地版本庫的分支推送到遠端伺服器上對應的分支了,如果不清楚版本庫的構成,可以檢視我的另一篇,git 倉庫的基本結構。
git push的一般形式為 git push <遠端主機名> <本地分支名> <遠端分支名> ,例如 git push origin master:refs/for/master ,即是將本地的master分支推送到遠端主機origin上的對應master分支, origin 是遠端主機名。第一個master是本地分支名,第二個master是遠端分支名。
git push origin master
如果遠端分支被省略,如上則表示將本地分支推送到與之存在追蹤關係的遠端分支(通常兩者同名),如果該遠端分支不存在,則會被新建
git push origin :refs/for/master
如果省略本地分支名,則表示刪除指定的遠端分支,因為這等同於推送一個空的本地分支到遠端分支,等同於 git push origin –delete master
git push origin
如果當前分支與遠端分支存在追蹤關係,則本地分支和遠端分支都可以省略,將當前分支推送到origin主機的對應分支
git push
如果當前分支只有一個遠端分支,那麼主機名都可以省略,形如 git push,可以使用git branch -r ,檢視遠端的分支名
關於 refs/for:
refs/for 的意義在於我們提交程式碼到伺服器之後是需要經過code review 之後才能進行merge的,而refs/heads 不需要