記錄一下工作中常用到的git命令,只是簡(jiǎn)單的筆記,歡迎大家交流...
[
順便問下園友們,怎么感覺博客園發(fā)布的博客搜索有時(shí)都搜不到,后臺(tái)編輯能填的都填寫了,還是覺得搜索排名不高?
]
還是先貼張圖(此圖來自阮大神的blog)
git branch //查看當(dāng)前分支git branch -r //列出遠(yuǎn)程分支git branch -a //列出所有分支git branch branchName //創(chuàng)建分支git checkout branchName //切換分支git checkout -b branchName //創(chuàng)建并切換到分支git checkout //后面不跟任何參數(shù),則就是對(duì)工作區(qū)進(jìn)行檢查git checkout filename //從暫存區(qū)中恢復(fù)文件git status //查看狀態(tài)
git clone <版本庫的網(wǎng)址> <本地目錄名>git clone支持多種協(xié)議,除了HTTP(s)以外,還支持SSH、Git、本地文件協(xié)議等,下面是一些例子。$ git clone http[s]://example.com/path/to/repo.git/$ git clone ssh://example.com/path/to/repo.git/$ git clone git://example.com/path/to/repo.git/$ git clone /opt/git/project.git $ git clone file:///opt/git/project.git$ git clone ftp[s]://example.com/path/to/repo.git/$ git clone rsync://example.com/path/to/repo.git/SSH協(xié)議還有另一種寫法$ git clone [user@]example.com:path/to/repo.git/=========================================git remotegit remote -v //查看遠(yuǎn)程主機(jī)的網(wǎng)址git remote show <主機(jī)名> //查看該主機(jī)的詳細(xì)信息git remote add <主機(jī)名> <網(wǎng)址> //添加遠(yuǎn)程主機(jī)git remote rm <主機(jī)名> //刪除遠(yuǎn)程主機(jī)git remote rename <原主機(jī)名> <新主機(jī)名> //重命名遠(yuǎn)程主機(jī)
$ git pull <遠(yuǎn)程主機(jī)名> <遠(yuǎn)程分支名>:<本地分支名>$ git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名> from to git pull origin master:master取回origin主機(jī)的master分支,與本地的master分支合并git push origin master:master推送本地的master分支,與origin主機(jī)的master分支合并git pull origin master如果遠(yuǎn)程分支是與當(dāng)前分支合并,則冒號(hào)后面的部分可以省略。git push origin master本地的master分支推送到origin主機(jī)的master分支。如果后者不存在,則會(huì)被新建git pull origin 本地的當(dāng)前分支自動(dòng)與對(duì)應(yīng)的origin主機(jī)”追蹤分支”(remote-tracking branch)進(jìn)行合并。追蹤分支 是 遠(yuǎn)程的同名分支git push origin當(dāng)前分支與遠(yuǎn)程分支之間存在追蹤關(guān)系,則本地分支和遠(yuǎn)程分支都可以省略git pull 當(dāng)前分支自動(dòng)與唯一一個(gè)追蹤分支進(jìn)行合并git push當(dāng)前分支只有一個(gè)追蹤分支,那么主機(jī)名都可以省略
git merge 用"pull"命令把"origin"分支上的修改拉下來并且和你的修改合并; 結(jié)果看起來就像一個(gè)新的"合并的提交"(merge commit)://使用 rebase 合并$ git checkout mywork$ git rebase origin這些命令會(huì)把你的"mywork"分支里的每個(gè)提交(commit)取消掉,并且把它們臨時(shí) 保存為補(bǔ)丁(patch)(這些補(bǔ)丁放到".git/rebase"目錄中),然后把"mywork"分支更新 到最新的"origin"分支,最后把保存的這些補(bǔ)丁應(yīng)用到"mywork"分支上在rebase的過程中,也許會(huì)出現(xiàn)沖突(conflict). 在這種情況,Git會(huì)停止rebase并會(huì)讓你去解決 沖突;在解決完沖突后,用"git-add"命令去更新這些內(nèi)容的索引(index), 然后,你無需執(zhí)行 git-commit,只要執(zhí)行:$ git rebase --continue這樣git會(huì)繼續(xù)應(yīng)用(apply)余下的補(bǔ)丁。在任何時(shí)候,你可以用--abort參數(shù)來終止rebase的行動(dòng),并且"mywork" 分支會(huì)回到rebase開始前的狀態(tài)。$ git rebase --abort
git log --stat -n 5 // 簡(jiǎn)單的列出了修改過的文件git log -p -n 5 // 詳細(xì)的列出修改過的文件,及提交文件的對(duì)比git log --graph // ASCII 字符串表示的簡(jiǎn)單圖形,形象地展示了每個(gè)提交所在的分支及其分化衍合情況git log --all --decorate --graphgit log --pretty=oneline // 只顯示哈希值和提交說明git log --pretty=oneline/short/full/fuller/format:""(格式等)git log --name-only // 僅在提交信息后顯示已修改的文件清單git log --no-merges // 不顯示merge的log常用的命令:git log --name-status -n 5 path/filename --no-merges // 顯示新增、修改、刪除的文件清單(不包含merge的log)
保存工作現(xiàn)場(chǎng)git stash // 保存工作現(xiàn)場(chǎng)do some workgit pop // 返回工作現(xiàn)場(chǎng)git stash list //查看 stash 隊(duì)列g(shù)it stash pop stash@{num} // num就是list中要恢復(fù)的工作現(xiàn)場(chǎng)編號(hào)// 使用pop命令恢復(fù)的工作現(xiàn)場(chǎng),其對(duì)應(yīng)的stash 在隊(duì)列中刪除git stash apply stash@{num} // num就是list中要恢復(fù)的工作現(xiàn)場(chǎng)編號(hào)// 使用apply命令恢復(fù)的工作現(xiàn)場(chǎng),其對(duì)應(yīng)的stash 在隊(duì)列中不刪除git stash clear // 情況 stash 隊(duì)列
保存工作現(xiàn)場(chǎng)git stash // 保存工作現(xiàn)場(chǎng)do some workgit pop // 返回工作現(xiàn)場(chǎng)git stash list //查看 stash 隊(duì)列g(shù)it stash pop stash@{num} // num就是list中要恢復(fù)的工作現(xiàn)場(chǎng)編號(hào)// 使用pop命令恢復(fù)的工作現(xiàn)場(chǎng),其對(duì)應(yīng)的stash 在隊(duì)列中刪除git stash apply stash@{num} // num就是list中要恢復(fù)的工作現(xiàn)場(chǎng)編號(hào)// 使用apply命令恢復(fù)的工作現(xiàn)場(chǎng),其對(duì)應(yīng)的stash 在隊(duì)列中不刪除git stash clear // 情況 stash 隊(duì)列
$ git fetch <遠(yuǎn)程主機(jī)名> <分支名>git fetch origin master取回origin主機(jī)的master分支
http://www.ruanyifeng.com/blog/2014/06/git_remote.htmlhttp://gitbook.liuhui998.com/4_2.htmlhttp://www.tuicool.com/articles/A3Mn6f
聯(lián)系客服