[git]Git經常使用命令

轉自http://www.cnblogs.com/idche/archive/2011/07/05/2098165.htmlGIT 

學習筆記 集中化的版本控制系統 CVCS(Centralized Version Control System) 分佈式版本控制系統 DVCS(Decentralized Version Control System) Git 基礎要點 http://progit.org/book/zh/ch1-3.html 1:直接快照,而非比較差別 2:近乎全部操做均可本地執行 3:時刻保持數據完整性 (Git 使用 SHA-1 算法計算數據的校驗 ,40 個十六進制字符(0-9 及 a-f)組成) 4:多數操做僅添加數據 5:三種狀態(已提交(committed),已修改(modified)和已暫存(staged)) GIT安裝 http://progit.org/book/zh/ch1-4.html 配置GIT http://progit.org/book/zh/ch1-5.html $ git config --global user.name "John Doe"  //global對全部的repo都有效 $ git config --global user.email johndoe@example.com 查看配置 git config --list 1. GIT 基礎 初始化倉庫 $ git init $ git add *.c $ git add README $ git commit -m 'initial project version' 從現有倉庫克隆 $ git clone git://github.com/schacon/grit.git 倉庫狀態 $ git status 跟蹤新文件 $ git add fileName 忽略某些文件 $ cat .gitignore *.[oa] //忽略以 .o 或 .a 結尾的文件 *~ //忽略全部以波浪符(~)結尾的文件 查看已暫存和未暫存的更新 $ git diff $ git diff --cached //已經暫存起來的文件和上次提交時的快照之間的差別 提交更新 $ git commit -m "message" // 簡單的提交方式 $ git commit -a -m "message" // 跳過add 步驟 把已經跟蹤的文件所有提交 移除文件 $git rm fileName $ git rm --cached readme.txt //移除跟蹤但不刪除文件 移動文件 $ git mv file_from file_to 日誌 $ git log $ git log –p -2 // -p 提交內容的差別 -2最近兩次 $ git log --stat//顯示簡要的增改行數統計 修改最後一次提交 $ git commit --amend //---第2次提交修改了第一次提交 $ git commit -m 'initial commit' $ git add forgotten_file $ git commit --amend 取消已經暫存的文件 $ git reset HEAD fileName 取消對文件的修改(回退到之前未修改的狀態) //頗有用 也很危險 $ git checkout -- fileName 2. 遠程倉庫的使用   查看當前的遠程庫 $ git remote -v // -v 列出遠程地址 添加遠程倉庫 $ git remote add Name git://github.com/paulboone/ticgit.git 從遠程倉庫抓取數據 $ git fetch [remote-name] $ git pull// 合併遠程的所有分支到本地(不肯定) 推送數據到遠程倉庫 $ git push origin master //推送 origin 到 master 查看遠程倉庫信息 $ git remote show origin 遠程倉庫的刪除和重命名 $ git remote rename pb paul// pb 改爲 paul 分支對應前綴也會發生變化 $ git remote rm paul// 貌似刪除
    
     本地分支重命名
     $ git branch -m <old_branch> <new_branch> 3. 打標籤 http://progit.org/book/zh/ch2-6.html 列顯已有的標籤 $ git tag $ git tag -l 'v1.4.2.*'//搜索標籤 新建標籤 $ git tag -a v1.4 -m 'my version 1.4' //新建v1.4標籤 消息是 my version 1.4 分享標籤 $ git push origin [tagname] //提交 一個標籤 $ git push origin --tags // 推送全部本地標籤 刪除 $ git tag -d [tagname] //刪除標籤 $ git push origin :refs/tags/tagname //刪除遠程標籤 4. 技巧和竅門 提示 // 敲兩次tab Git 命令別名
     
$ git config --global alias.co checkout // git co 代替了 git checkout
     $ git config --global alias.st status
     $ git config --global alias.ci commit
     $ git config --global alias.br branch
     $ git config --global alias.unstage reset HEAD --
     $ git config --global alias.last log -1 HEAD
     固然這裏最好是經過修改 vi ~/.gitconfig文件,格式如
     [alias]
      st = status
       ..... 5. 分支 建立分支 $ git branch testing // 建立testing $ git checkout testing// 切換到testing $ git checkout -b iss53 //建立並切換到iss53 $ git merge hotfix //把hotfix 分支合併到當前分支 查看分支 $ git branch -v//最後一次commit信息 $ git branch --merged | --no-merged//篩選出你已經(或還沒有)與當前分支合併的分支 刪除 $ git branch -D testing 推送
     $ git push origin serverfix//把當前推送到 serverfix分支,省略遠程分支名,代表當前分支和遠程分支存在追蹤關係,一樣本地分支名也是能夠省略的
   $ git push <遠程主機名> <本地分支名>:<遠程分支名>  //和pull相反, git pull <遠程主機> <來源地_遠程分支名>:<目的地_本地分支名>
     更新同步 $ git fetch 

     刪除遠程分支 git push origin :branchname git branch –r //查看全部分支信息 //獲取遠端分支 $ git checkout -b sf origin/serverfix

6. 服務器上的GIT ---http://progit.org/book/zh/ch4-3.html

生成 SSH 公鑰 ---http://github.com/guides/providing-your-ssh-key。 $ cd ~/.ssh //公鑰的位置 $ ls authorized_keys2 id_dsa known_hosts config id_dsa.pub $ ssh-keygen //若是上面看不到公鑰 能夠用次來建立 會要求輸入存放位置 和密碼

7. 儲藏 $ git status //儲藏 $ git stash list//儲藏列表 $ git stash apply//應用儲藏 參考資料 http://zh.wikipedia.org/wiki/Git http://progit.org/book/zh/
相關文章
相關標籤/搜索