git倉庫管理筆錄

Git是目前世界上最早進的分佈式版本控制系統(沒有之一)。html

小明作了個我的博客,放到了Git 倉庫裏面。次日換了臺電腦,只須要 git clone  克隆一下git 遠程倉庫的代碼到本地便可。而後他又對項目新增了一個又一個新的功能,每次作完以後,只須要git add  ... commit  ... push 到Git 倉庫裏面去就行了,每一次提交到遠程倉庫都會自動的生成一個歷史版本永久存放在Git中。某日,小明發現他最近一次的更改將本身的博客改壞了,致使不少功能失效,因而  他只須要 git reset --hard f8af3fe。。。就又恢復到  f8af3fe 此次提交上了,而後從新提交一下,博客就所有恢復了,可是後面改的東西沒了,他能夠將最後一次的修改代碼再放到本地檢測 測試經過後提交  而後完美保存。

git

Git 就是這麼個簡單的工具!github

簡單的幾句代碼能夠給碼農帶來很大的便利,並且在必定的存儲空間內,Git 徹底開源免費!幫你存儲不怕丟失!至於安全,你不相信他你就不要用他!web

 

不一樣的系統安裝方法不一,自行安裝,本博客主要是寫給本身看的,萬一忘記了能夠快速瀏覽本身的博客!sql

 

簡單的介紹一下git 經常使用的命令:緩存

 

  git pull       獲取線上最新代碼安全

      查看當前分支狀態

rm a.html 刪除a.html文件

git rm a.html 從版本庫中刪除文件

git log        查看歷史提交

git reflog 查看提交的命令歷史

git statusgit diff a.html 查看當前文件的最近修改

git add a.html 添加單個修改的文件
git add . 添加全部修改的文件

git commit -m "註釋" 提交併給本次提交打上 「註釋」 的標籤,也能夠 git commit -am "註釋"

git push origin master       將本地提交後的代碼推送到線上Git倉庫master分支

git branch -u origin/mybranch 或者  git push origin/mybranch -u   關聯遠程分支

git pull origin master       指定只獲取線上master分支代碼
git commit -m "註釋" 提交併給本次提交打上 「註釋」 的標籤,也能夠 git commit -am "註釋"

git push origin master       將本地提交後的代碼推送到線上Git倉庫master分支

git branch -u origin/mybranch 或者  git push origin/mybranch -u   關聯遠程分支

git pull origin master       指定只獲取線上master分支代碼
git clone git@github.com:999999/88888.git 克隆git倉庫的項目到本地


git branch dev 建立一個dev的分支(等於上個分支的代碼)
git checkout dev 簽出dev分支
git checkout -b dev 上面兩行合併爲此一行

git branch -d dev 普通刪除 dev 分支

git branch -D dev 強制刪除 dev 分支

git checkout -b dev origin/dev  從遠程簽出 dev 分支

 git push origin --delete <remote-branchname> 刪除遠程分支ruby

   git push origin :<remote-branchname> 同上(刪除遠程)app

 git branch -m <new-branch-name> 重命明當前分支分佈式

 git commit --amend 修改上一個commit的描述

 git blame <file-name> 查看某文件做者

 

git branch --set-upstream dev origin/dev 將本地分支和遠程分支構建連接

git tag v1.11.1 打上 v1.11.1 的標籤

git tag -d v1.11.1 刪除 v1.11.1 的標籤

git push origin :refs/tags/v0.9 to

git push origin :refs/tags/v0.9 to git@github.com:999999/88888.git 從遠程刪除v0.9的標籤


小明正在 master 分支上開發項目,忽然接到緊急任務 須要去product 分支上修改某個文件!
因而小明能夠選擇 提交後切換分支,也能夠將當前分支的修改放入暫存區保存起來
從遠程刪除v0.9的標籤


小明正在 master 分支上開發項目,忽然接到緊急任務 須要去product 分支上修改某個文件!
因而小明能夠選擇 提交後切換分支,也能夠將當前分支的修改放入暫存區保存起來
查看儲藏列表信息
git stash apply 恢復儲藏的狀態(但並不刪除該儲藏)

git stash 本地儲藏當前修改
git stash listgit stash pop恢復並刪除最後提交的儲藏
git stash clear 刪除全部儲藏

git stash apply stash@{0} 恢復第{0}的儲藏

git merge dev 將當前分支與dev 分支合併,合併後 dev分支不變,當前分支代碼齊全

最煩的就是合併衝突 假設出現了衝突就很麻煩 webStrom 自帶了解決衝突 對比文件的(我的不太習慣)
我電腦Mac 下載了一個 Beyond Compare 軟件
假設出現了合併衝突 就使用 git mergetool 命令
將自動調用並打開 Beyond Compare 軟件,至於怎麼用,本身看吧 也很簡單,選好了,快捷鍵保存退出便可!

git remote 查看全部遠程倉庫

 git remote set-url origin <URL> 修改遠程倉庫 URL

 git remote add origin <remote-url> 增長遠程倉庫

 git checkout <branch-name> && git cherry-pick <commit-id> 把A分支的某一個commit放到b分支上

 
追加:
修改已commit的內容:
若是隻是commit到了本地 ,未push:

git commit --amend
會打開本地緩存文件,修改一下第一行上一個commit的內容保存退出便可
若是要將本地和線上的commit 內容進行修改
git commit -f --amend (並不建議)
同上
 

神器
如 git status 如何直接使用 git st 達到一樣的效果


神器
如 git status 如何直接使用 git st 達到一樣的效果

git config --global alias.st status 這就使 git status === git st 了

一樣

git config --global alias.co checkout git co
git config --global alias.ci commit git ci

git config --global alias.br branch git br


大致上就是這麼多了 可以靈活使用就好,固然還有個別的沒寫出來,歡迎評論提點!

更詳細的東西看 廖雪峯Git教程 吧!
相關文章
相關標籤/搜索