git 經常使用命令

git checkout -b cgi remotes/origin/cgi   切換到分支前端


git push origin :test    刪除test分支git


原文:http://blog.csdn.net/sunboy_2050/article/details/7529841github


前面兩篇博客 Git 版本管理工具 和 Git 經常使用命令詳解,分別介紹了Git 基礎知識和命令用法web


 


本文將對Git 命令,作一下全面而系統的簡短總結,整理成簡潔、明瞭的圖表結構,方便查詢shell


 


 


 


 


 


1、 Git 經常使用命令速查編程


 


git branch 查看本地全部分支ubuntu

git status 查看當前狀態 vim

git commit 提交 瀏覽器

git branch -a 查看全部的分支服務器

git branch -r 查看遠程全部分支

git commit -am "init" 提交而且加註釋 

git remote add origin git@192.168.1.119: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 git@github.com: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


 


 


 


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 git@github.com:daixu/WebApp.git 增長一個遠程服務器端


 


上面的命令會增長URL地址爲'git@github.com:daixu/WebApp.git',名稱爲origin的遠程服務器庫,之後提交代碼的時候只須要使用 origin別名便可


 


 


 


 


 


2、 Git 命令速查表


 


 


一、經常使用的Git命令


命令


簡要說明


git add


添加至暫存區


git add–interactive


交互式添加


git apply


應用補丁


git am


應用郵件格式補丁


git annotate


同義詞,等同於 git blame


git archive


文件歸檔打包


git bisect


二分查找


git blame


文件逐行追溯


git branch


分支管理


git cat-file


版本庫對象研究工具


git checkout


檢出到工做區、切換或建立分支


git cherry-pick


提交揀選


git citool


圖形化提交,至關於 git gui 命令


git clean


清除工做區未跟蹤文件


git clone


克隆版本庫


git commit


提交


git config


查詢和修改配置


git describe


經過里程碑直觀地顯示提交ID


git diff


差別比較


git difftool


調用圖形化差別比較工具


git fetch


獲取遠程版本庫的提交


git format-patch


建立郵件格式的補丁文件。參見 git am 命令


git grep


文件內容搜索定位工具


git gui


基於Tcl/Tk的圖形化工具,側重提交等操做


git help


幫助


git init


版本庫初始化


git init-db*


同義詞,等同於 git init


git log


顯示提交日誌


git merge


分支合併


git mergetool


圖形化衝突解決


git mv


重命名


git pull


拉回遠程版本庫的提交


git push


推送至遠程版本庫


git rebase


分支變基


git rebase–interactive


交互式分支變基


git reflog


分支等引用變動記錄管理


git remote


遠程版本庫管理


git repo-config*


同義詞,等同於 git config


git reset


重置改變分支「遊標」指向


git rev-parse


將各類引用表示法轉換爲哈希值等


git revert


反轉提交


git rm


刪除文件


git show


顯示各類類型的對象


git stage*


同義詞,等同於 git add


git stash


保存和恢復進度


git status


顯示工做區文件狀態


git tag


里程碑管理


 


二、對象庫操做相關命令


 


命令


簡要說明


git commit-tree


從樹對象建立提交


git hash-object


從標準輸入或文件計算哈希值或建立對象


git ls-files


顯示工做區和暫存區文件


git ls-tree


顯示樹對象包含的文件


git mktag


讀取標準輸入建立一個里程碑對象


git mktree


讀取標準輸入建立一個樹對象


git read-tree


讀取樹對象到暫存區


git update-index


工做區內容註冊到暫存區及暫存區管理


git unpack-file


建立臨時文件包含指定 blob 的內容


git write-tree


從暫存區建立一個樹對象


 


三、引用操做相關命令


 


命令


簡要說明


git check-ref-format


檢查引用名稱是否符合規範


git for-each-ref


引用迭代器,用於shell編程


git ls-remote


顯示遠程版本庫的引用


git name-rev


將提交ID顯示爲友好名稱


git peek-remote*


過期命令,請使用 git ls-remote


git rev-list


顯示版本範圍


git show-branch


顯示分支列表及拓撲關係


git show-ref


顯示本地引用


git symbolic-ref


顯示或者設置符號引用


git update-ref


更新引用的指向


git verify-tag


校驗 GPG 簽名的Tag


 


四、版本庫管理相關命令


 


命令


簡要說明


git count-objects


顯示鬆散對象的數量和磁盤佔用


git filter-branch


版本庫重構


git fsck


對象庫完整性檢查


git fsck-objects*


同義詞,等同於 git fsck


git gc


版本庫存儲優化


git index-pack


從打包文件建立對應的索引文件


git lost-found*


過期,請使用 git fsck –lost-found 命令


git pack-objects


從標準輸入讀入對象ID,打包到文件


git pack-redundant


查找多餘的 pack 文件


git pack-refs


將引用打包到 .git/packed-refs 文件中


git prune


從對象庫刪除過時對象


git prune-packed


將已經打包的鬆散對象刪除


git relink


爲本地版本庫中相同的對象創建硬鏈接


git repack


將版本庫未打包的鬆散對象打包


git show-index


讀取包的索引文件,顯示打包文件中的內容


git unpack-objects


從打包文件釋放文件


git verify-pack


校驗對象庫打包文件


 


五、數據傳輸相關命令


 


命令


簡要說明


git fetch-pack


執行 git fetch 或 git pull 命令時在本地執行此命令,用於從其餘版本庫獲取缺失的對象


git receive-pack


執行 git push 命令時在遠程執行的命令,用於接受推送的數據


git send-pack


執行 git push 命令時在本地執行的命令,用於向其餘版本庫推送數據


git upload-archive


執行 git archive –remote 命令基於遠程版本庫建立歸檔時,遠程版本庫執行此命令傳送歸檔


git upload-pack


執行 git fetch 或 git pull 命令時在遠程執行此命令,將對象打包、上傳


 


六、郵件相關命令


 


命令


簡要說明


git imap-send


將補丁經過 IMAP 發送


git mailinfo


從郵件導出提交說明和補丁


git mailsplit


將 mbox 或 Maildir 格式郵箱中郵件逐一提取爲文件


git request-pull


建立包含提交間差別和執行PULL操做地址的信息


git send-email


發送郵件


 


七、協議相關命令


 


命令


簡要說明


git daemon


實現Git協議


git http-backend


實現HTTP協議的CGI程序,支持智能HTTP協議


git instaweb


即時啓動瀏覽器經過 gitweb 瀏覽當前版本庫


git shell


受限制的shell,提供僅執行Git命令的SSH訪問


git update-server-info


更新啞協議須要的輔助文件


git http-fetch


經過HTTP協議獲取版本庫


git http-push


經過HTTP/DAV協議推送


git remote-ext


由Git命令調用,經過外部命令提供擴展協議支持


git remote-fd


由Git命令調用,使用文件描述符做爲協議接口


git remote-ftp


由Git命令調用,提供對FTP協議的支持


git remote-ftps


由Git命令調用,提供對FTPS協議的支持


git remote-http


由Git命令調用,提供對HTTP協議的支持


git remote-https


由Git命令調用,提供對HTTPS協議的支持


git remote-testgit


協議擴展現例腳本


 


八、版本庫轉換和交互相關命令


 


命令


簡要說明


git archimport


導入Arch版本庫到Git


git bundle


提交打包和解包,以便在不一樣版本庫間傳遞


git cvsexportcommit


將Git的一個提交做爲一個CVS檢出


git cvsimport


導入CVS版本庫到Git。或者使用 cvs2git


git cvsserver


Git的CVS協議模擬器,可供CVS命令訪問Git版本庫


git fast-export


將提交導出爲 git-fast-import 格式


git fast-import


其餘版本庫遷移至Git的通用工具


git svn


Git 做爲前端操做 Subversion


 


九、合併相關的輔助命令


 


命令


簡要說明


git merge-base


供其餘腳本調用,找到兩個或多個提交最近的共同祖先


git merge-file


針對文件的兩個不一樣版本執行三向文件合併


git merge-index


對index中的衝突文件調用指定的衝突解決工具


git merge-octopus


合併兩個以上分支。參見 git merge 的octopus合併策略


git merge-one-file


由 git merge-index 調用的標準輔助程序


git merge-ours


合併使用本地版本,拋棄他人版本。參見 git merge 的ours合併策略


git merge-recursive


針對兩個分支的三向合併。參見 git merge 的recursive合併策略


git merge-resolve


針對兩個分支的三向合併。參見 git merge 的resolve合併策略


git merge-subtree


子樹合併。參見 git merge 的 subtree 合併策略


git merge-tree


顯式三向合併結果,不改變暫存區


git fmt-merge-msg


供執行合併操做的腳本調用,用於建立一個合併提交說明


git rerere


重用所記錄的衝突解決方案


 


十、 雜項


 


 


命令


簡要說明


git bisect–helper


由 git bisect 命令調用,確認二分查找進度


git check-attr


顯示某個文件是否設置了某個屬性


git checkout-index


從暫存區拷貝文件至工做區


git cherry


查找沒有合併到上游的提交


git diff-files


比較暫存區和工做區,至關於 git diff –raw


git diff-index


比較暫存區和版本庫,至關於 git diff –cached –raw


git diff-tree


比較兩個樹對象,至關於 git diff –raw A B


git difftool–helper


由 git difftool 命令調用,默認要使用的差別比較工具


git get-tar-commit-id


從 git archive 建立的 tar 包中提取提交ID


git gui–askpass


命令 git gui 的獲取用戶口令輸入界面


git notes


提交評論管理


git patch-id


補丁過濾行號和空白字符後生成補丁惟一ID


git quiltimport


將Quilt補丁列表應用到當前分支


git replace


提交替換


git shortlog


對 git log 的彙總輸出,適合於產品發佈說明


git stripspace


刪除空行,供其餘腳本調用


git submodule


子模組管理


git tar-tree


過期命令,請使用 git archive


git var


顯示 Git 環境變量


git web–browse


啓動瀏覽器以查看目錄或文件


git whatchanged


顯示提交歷史及每次提交的改動


git-mergetool–lib


包含於其餘腳本中,提供合併/差別比較工具的選擇和執行


git-parse-remote


包含於其餘腳本中,提供操做遠程版本庫的函數


git-sh-setup


包含於其餘腳本中,提供 shell 編程的函數庫


 


 


 


 


 


原文:http://hi.baidu.com/wade_hit/item/848869db05e53af4cb0c391b


總結一下ubuntu下github經常使用的命令,設置部分跳過,假設repository的名字叫hello-world:


 


 


 


1.建立一個新的repository:


 


先在github上建立並寫好相關名字,描述。


 


$cd ~/hello-world        //到hello-world目錄


 


$git init                     //初始化


 


$git add .                   //把全部文件加入到索引(不想把全部文件加入,能夠用gitignore或add 具體文件)


 


$git commit               //提交到本地倉庫,而後會填寫更新日誌( -m 「更新日誌」也可)


 


$git remote add origin git@github.com:WadeLeng/hello-world.git        //增長到remote


 


$git push origin master    //push到github上


 


2.更新項目(新加了文件):


 


$cd ~/hello-world


 


$git add .                  //這樣能夠自動判斷新加了哪些文件,或者手動加入文件名字


 


$git commit              //提交到本地倉庫


 


$git push origin master    //不是新建立的,不用再add 到remote上了


 


3.更新項目(沒新加文件,只有刪除或者修改文件):


 


$cd ~/hello-world


 


$git commit -a          //記錄刪除或修改了哪些文件


 


$git push origin master  //提交到github


 


4.忽略一些文件,好比*.o等:


 


$cd ~/hello-world


 


$vim .gitignore     //把文件類型加入到.gitignore中,保存


 


而後就能夠git add . 能自動過濾這種文件


 


5.clone代碼到本地:


 


$git clone git@github.com:WadeLeng/hello-world.git


 


假如本地已經存在了代碼,而倉庫裏有更新,把更改的合併到本地的項目:


 


$git fetch origin    //獲取遠程更新


 


$git merge origin/master //把更新的內容合併到本地分支


 


6.撤銷


 


$git reset


 


7.刪除


 


$git rm  * // 不是用rm


 


//------------------------------常見錯誤-----------------------------------


 


1.$ git remote add origin git@github.com:WadeLeng/hello-world.git


 


 


 


 錯誤提示:fatal: remote origin already exists.


 


 解決辦法:$ git remote rm origin


 


 而後在執行:$ git remote add origin git@github.com:WadeLeng/hello-world.git 就不會報錯誤了


 


 2. $ git push origin master


 


 錯誤提示:error:failed to push som refs to


 


 解決辦法:$ git pull origin master //先把遠程服務器github上面的文件拉先來,再push 上去。


 


//------------------------------------------------------------------------------


 


一箇中文git手冊:http://progit.org/book/zh/

相關文章
相關標籤/搜索