git init 初始化一個倉庫
git add <file> 可添加多個文件
git add . 添加文件夾中所有文件
git add -f <file> 強制添加
git commit -m "describe" 將修改提交到分支掩浙,-m后面為描述
git log 顯示從最近到最遠的提交日志
git reset --hard HEAD^ 回退到上一個版本,HEAD^^回退到上上個版本哥谷,HEAD~100
git reset --hard 1049a 回退到某次提交
git relog 記錄了每一條命令
git status 查看狀態(tài)
git diff HEAD -- readme 查看工作區(qū)和最新版本的區(qū)別
git checkout -- file 丟棄工作區(qū)的修改
git rm file 從版本庫刪除文件
ssh-keygen -t rsa -C "youremail@example.com" 生成公鑰私鑰
git remote add origin git@*** 本地與遠程關(guān)聯(lián)
git push -u origin master 本地倉庫所有內(nèi)容推送到遠程亿乳,并關(guān)聯(lián)分支
git clone git@*** 從遠程庫克隆一個本地庫
git checkout -b <branch> 創(chuàng)建并切換到分支
git branch <branch> 創(chuàng)建分支
git checkout <branch> 切換到分支
git branch 查看當前分支
git merge <branch> 合并指定分支到當前分支熊痴,有沖突時需要修改好才能合并
git branch -d <branch> 刪除分支
git branch -D <branch> 強行刪除未合并的分支
git log --graph --pretty=oneline --abbrev-commit 查看分支合并情況
git merge --no-ff -m "merge with no-ff" dev 禁用Fast-Forwad
git stash 把當前工作現(xiàn)場“儲藏”起來,等以后恢復現(xiàn)場后繼續(xù)工作
git stash list 查看
git stash apply 恢復,但stash內(nèi)容不刪除
git stash apply stach@[0]
git stash pop 恢復的同時把stash也刪掉了
git remote -v 查看遠程庫信息
git push origin <branch> 推送到遠程分支
git branch --set-upstream-to=origin/dev dev 設置本地dev分支與遠程dev分支鏈接
git tag <tagname> 新建一個標簽盒刚,也可以指定commit id
git tag -a <tagname> -m "test" 指定標簽信息
git tag 查看所有標簽
git tag -d <tagname> 刪除標簽
git push origin <tagname> 推送標簽
git push origin --tags 推送所有標簽
git push origin :refs/tags/<tagname> 刪除遠程標簽顾犹,之前要先刪除本地標簽
在Git工作區(qū)的根目錄下創(chuàng)建一個特殊的.gitignore文件倒庵,然后把要忽略的文件名填進去,Git就會自動忽略這些文件炫刷。
不需要從頭寫.gitignore文件擎宝,GitHub已經(jīng)為我們準備了各種配置文件,只需要組合一下就可以使用了浑玛。所有配置文件可以直接在線瀏覽:https://github.com/github/gitignore
忽略文件的原則是:
- 忽略操作系統(tǒng)自動生成的文件绍申,比如縮略圖等;
- 忽略編譯生成的中間文件顾彰、可執(zhí)行文件等极阅,也就是如果一個文件是通過另一個文件自動生成的,那自動生成的文件就沒必要放進版本庫拘央,比如Java編譯產(chǎn)生的.class文件涂屁;
- 忽略你自己的帶有敏感信息的配置文件,比如存放口令的配置文件灰伟。
最后一步就是把.gitignore也提交到Git拆又,就完成了儒旬!
使用Windows的童鞋注意了,如果你在資源管理器里新建一個.gitignore文件帖族,它會非常弱智地提示你必須輸入文件名栈源,但是在文本編輯器里“保存”或者“另存為”就可以把文件保存為.gitignore了。