git init
git
touch .gitignore(這裏面能夠寫一些忽略文件,git add/commit/push的時候不會上傳忽略文件,能夠參照其它項目)
運維
git remote add origin 遠程地址
工具
git add --all git add .
git config user.name "JerryMouseLi" git config user.email "j213@137.com"
git commit -m "提交備註"
學習
git pull origin master
pull包含了fetch跟merge將本地倉庫的變化與遠程倉庫變化,同名文件合併。這裏有衝突須要解決衝突。fetch
git push origin maste
命令行
git reset --hard commit_id
日誌
`
git push origin master --forcecode
`orm
git log --pretty=format:"%ai , %an: %s" --since=「100 day ago」 >> ~/Desktop/commit.log git log --pretty=format:"%ai , %an: %s" >> ~/Desktop/Readme.log 最終採用 git log --date=format:'%Y-%m-%d %H:%M:%S' --pretty=format:"%ad , %an: %s" >> ~/Desktop/Readme.log
選項 說明 %H 提交對象(commit)的完整哈希字串 %h 提交對象的簡短哈希字串 %T 樹對象(tree)的完整哈希字串 %t 樹對象的簡短哈希字串 %P 父對象(parent)的完整哈希字串 %p 父對象的簡短哈希字串 %an 做者(author)的名字 %ae 做者的電子郵件地址 %ad 做者修訂日期(能夠用 -date= 選項定製格式) %ar 做者修訂日期,按多久之前的方式顯示 %cn 提交者(committer)的名字 %ce 提交者的電子郵件地址 %cd 提交日期 %cr 提交日期,按多久之前的方式顯示 %s 提交說明
git branch -a 查看全部分支 git branch -r查看遠程分支 git branch 查看分支
git clone -b CQDemo https://git.dev.tencent.com/xxx/xxx.git
對象
git fsck --lost-found //找回git add過可是已經不存在文件中的內容
git commit --amend
commit提供了一個--amend參數,能夠修改最後一次提交的信息.可是若是你已經push過了,那麼其歷史最後一次,永遠也不能修改了。
主要我用來導出git日誌的時候用
git commit --amend --author "xw aa.hbl@gmail.com"
// 設置全局
git config --global user.name "Author Name"
git config --global user.email "Author Email"
// 或者設置本地項目庫配置
git config user.name "Author Name"
git config user.email "Author Email"
咱們經常在代碼封板時,使用git 建立一個tag ,這樣一個不可修改的歷史代碼版本就像被咱們封存起來同樣,不管是運維發佈拉取,或者之後的代碼版本管理,都是十分方便的
git 下打標籤其實有2種狀況
git tag -a V1.2 -m 'release 1.2'
上面的命令咱們成功建立了本地一個版本 V1.2 ,而且添加了附註信息 'release 1.2'
git tag
要顯示附註信息,咱們須要用 show 指令來查看
git show V1.2
可是目前這個標籤僅僅是提交到了本地git倉庫.如何同步到遠程代碼庫
git push origin --tags
若是剛剛同步上去,你缺發現一個致命bug ,須要從新打版本,如今還爲時不晚.
git tag -d V1.2
到這一步咱們只是刪除了本地 V1.2的版本,但是線上V1.2的版本仍是存在,如何辦?這時咱們能夠推送的空的同名版本到線下,達到刪除線上版本的目標:
git push origin :refs/tags/V1.2
如何獲取遠程版本?
git fetch origin tag V1.2
這樣咱們能夠精準拉取指定的某一個版本.適用於運維同窗部署指定版本.