天天看點

git 指令合集

Git 是一個很強大的分布式版本控制系統。它不但适用于管理大型開源軟體的源代碼,管理私人的文檔和源代碼也有很多優勢。

Git常用操作指令:

1) 遠端倉庫相關指令

檢出倉庫:$ git clone git://github.com/jquery/jquery.git

檢視遠端倉庫:$ git remote -v

添加遠端倉庫:$ git remote add [name] [url]

删除遠端倉庫:$ git remote rm [name]

修改遠端倉庫:$ git remote set-url --push [name] [newUrl]

拉取遠端倉庫:$ git pull [remoteName] [localBranchName]

推送遠端倉庫:$ git push [remoteName] [localBranchName]

*如果想把本地的某個分支test送出到遠端倉庫,并作為遠端倉庫的master分支,或者作為另外一個名叫test的分支,如下:

$git push origin test:master         // 送出本地test分支作為遠端的master分支

$git push origin test:test              // 送出本地test分支作為遠端的test分支

2)分支(branch)操作相關指令

檢視本地分支:$ git branch

檢視遠端分支:$ git branch -r

建立本地分支:$ git branch [name] ----注意新分支建立後不會自動切換為目前分支

切換分支:$ git checkout [name]

建立新分支并立即切換到新分支:$ git checkout -b [name]

删除分支:$ git branch -d [name] ---- -d選項隻能删除已經參與了合并的分支,對于未有合并的分支是無法删除的。如果想強制删除一個分支,可以使用-D選項

合并分支:$ git merge [name] ----将名稱為[name]的分支與目前分支合并

建立遠端分支(本地分支push到遠端):$ git push origin [name]

删除遠端分支:$ git push origin :heads/[name] 或 $ gitpush origin :[name] 

*建立空的分支:(執行指令之前記得先送出你目前分支的修改,否則會被強制删幹淨沒得後悔)

$git symbolic-ref HEAD refs/heads/[name]

$rm .git/index

$git clean -fdx

3)版本(tag)操作相關指令

檢視版本:$ git tag

建立版本:$ git tag [name]

删除版本:$ git tag -d [name]

檢視遠端版本:$ git tag -r

建立遠端版本(本地版本push到遠端):$ git push origin [name]

删除遠端版本:$ git push origin :refs/tags/[name]

合并遠端倉庫的tag到本地:$ git pull origin --tags

上傳本地tag到遠端倉庫:$ git push origin --tags

建立帶注釋的tag:$ git tag -a [name] -m 'yourMessage'

4) 子子產品(submodule)相關操作指令

添加子子產品:$ git submodule add [url] [path]

   如:$git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs

初始化子子產品:$ git submodule init  ----隻在首次檢出倉庫時運作一次就行

更新子子產品:$ git submodule update ----每次更新或切換分支後都需要運作一下

删除子子產品:(分4步走哦)

 1) $ git rm --cached [path]

 2) 編輯“.gitmodules”檔案,将子子產品的相關配置節點删除掉

 3) 編輯“ .git/config”檔案,将子子產品的相關配置節點删除掉

 4) 手動删除子子產品殘留的目錄

5)忽略一些檔案、檔案夾不送出

在倉庫根目錄下建立名稱為“.gitignore”的檔案,寫入不需要的檔案夾名或檔案,每個元素占一行即可,如

target

bin

*.db

=====================

Git 常用指令

git branch 檢視本地所有分支

git status 檢視目前狀态 

git commit 送出 

git branch -a 檢視所有的分支

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

git commit -am "init" 送出并且加注釋 

git remote add origin [email protected]:ndshow

git push origin master 将檔案給推到伺服器上 

git remote show origin 顯示遠端庫origin裡的資源 

git push origin master:develop

git push origin master:hb-dev 将本地庫與伺服器上的庫進行關聯 

git checkout --track origin/dev 切換到遠端dev分支

git branch -D master develop 删除本地庫develop

git checkout -b dev 建立一個新的本地分支dev

git merge origin/dev 将分支dev與目前分支進行合并

git checkout dev 切換到本地dev分支

git remote show 檢視遠端庫

git add .

git rm 檔案名(包括路徑) 從git中删除指定檔案

git clone git://github.com/schacon/grit.git 從伺服器上将代碼給拉下來

git config --list 看所有使用者

git ls-files 看已經被送出的

git rm [file name] 删除一個檔案

git commit -a 送出目前repos的所有的改變

git add [file name] 添加一個檔案到git index

git commit -v 當你用-v參數的時候可以看commit的差異

git commit -m "This is the message describing the commit" 添加commit資訊

git commit -a -a是代表add,把所有的change加到git index裡然後再commit

git commit -a -v 一般送出指令

git log 看你commit的日志

git diff 檢視尚未暫存的更新

git rm a.a 移除檔案(從暫存區和工作區中删除)

git rm --cached a.a 移除檔案(隻從暫存區中删除)

git commit -m "remove" 移除檔案(從Git中删除)

git rm -f a.a 強行移除修改後檔案(從暫存區和工作區中删除)

git diff --cached 或 $ git diff --staged 檢視尚未送出的更新

git stash push 将檔案給push到一個臨時空間中

git stash pop 将檔案從臨時空間pop下來

---------------------------------------------------------

git remote add origin [email protected]:username/Hello-World.git

git push origin master 将本地項目給送出到伺服器中

-----------------------------------------------------------

git pull 本地與伺服器端同步

-----------------------------------------------------------------

git push (遠端倉庫名) (分支名) 将本地分支推送到伺服器上去。

git push origin serverfix:awesomebranch

------------------------------------------------------------------

git fetch 相當于是從遠端擷取最新版本到本地,不會自動merge

git commit -a -m "log_message" (-a是送出所有改動,-m是加入log資訊) 本地修改同步至伺服器端 :

git branch branch_0.1 master 從主分支master建立branch_0.1分支

git branch -m branch_0.1 branch_1.0 将branch_0.1重命名為branch_1.0

git checkout branch_1.0/master 切換到branch_1.0/master分支

du -hs

-----------------------------------------------------------

mkdir WebApp

cd WebApp

git init

touch README

git add README

git commit -m 'first commit'

git remote add origin [email protected]:daixu/WebApp.git

git push -u origin master

git