1. 程式人生 > >git 常用命令詳解

git 常用命令詳解

git

最重要2命令:

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

git pull 本地與服務器端同步


一、 Git 命令初識


在正式介紹Git命令之前,先介紹一下Git 的基本命令和操作,對Git命令有一個總體的認識


示例:從Git 版本庫的初始化,通常有兩種方式:

1)git clone:這是一種較為簡單的初始化方式,當你已經有一個遠程的Git版本庫,只需要在本地克隆一份


例如:git clone git://github.com/someone/some_project.git some_project

上面的命令就是將‘git://github.com/someone/some_project.git‘這個URL地址的遠程版本庫,完全克隆到本地some_project目錄下


2)git init 和 git remote:這種方式稍微復雜一些,當你本地創建了一個工作目錄,你可以進入這個目錄,使用‘git init‘命令進行初始化;Git以後就會對該目錄下的文件進行版本控制,這時候如果你需要將它放到遠程服務器上,可以在遠程服務器上創建一個目錄,並把可訪問的URL記錄下來,此時你就可以利用‘git remote add‘命令來增加一個遠程服務器端,


例如:git remote add origin git://github.com/someone/another_project.git

上面的命令就會增加URL地址為‘git://github.com/someone/another_project.git‘,名稱為origin的遠程服務器,以後提交代碼的時候只需要使用 origin別名即可


二、 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] 或 $ git push 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 server fix:awesome branch


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


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


git branch 刪除遠程branch


git push origin:branch_remote_name


git branch -r -d branch_remote_name


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


初始化版本庫,並提交到遠程服務器端


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增加一個遠程服務器端


上面的命令會增加URL地址為‘[email protected]:daixu/WebApp.git‘,名稱為origin的遠程服務器庫,以後提交代碼的時候只需要使用 origin別名即可






參考博文:http://www.jianshu.com/p/d220c88bb516

git 常用命令詳解