初次學習git使用,發現廖雪峰老師講解非常到位,整理如下以備後續使用。
原文還請參考:git教程
1.初次執行git前的配置
git config -l 檢視全域性配置
git config --global user.name "your name" 配置使用者名稱
git config --global user.email "[email protected]"配置郵箱
git config --global color.ui true
讓git顯示顏色,會讓命令輸出看起來更醒目:
2.配置別名提公升效率
git st
--->git config --global
alias
.st status
git co
--->git config --global
alias
.co checkout
git ci
--->git config --global
alias
.ci commit
git br
--->git config --global
alias
.br branch
git unstage
--->git config --global
alias
.unstage
'reset head'
git last
--->git config --global
alias
.last
'log -1'
git lg
--->git config --global
alias
.lg"log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)<%an>%creset' --abbrev-commit"
3.git命令解釋
git init命令把這個目錄變成git可以管理的倉庫
git add告訴git,把檔案新增到倉庫
git commit
-m "***"
告訴git,把檔案提交到倉庫
git status命令可以讓我們時刻掌握倉庫當前的狀態
git diff看具體修改了什麼內容
git log命令顯示從最近到最遠的提交日誌
git shortlog只顯示commit的資訊
git log --pretty=oneline當行顯示提交檔案的log資訊
git log --pretty=oneline --abbrev-commit只顯示版本號的前幾位
git reset --hard head^回退到上乙個版本
git reset --hard head~100回退到上一百個版本
git reset --hard 12345678回退到指定版本,指定的版本號前幾位為
12345678
git reflog用來記錄你的每一次命令,並顯示提交的版本號
git diff head -- file命令可以檢視工作區和版本庫裡面最新版本的區別
git checkout -- file丟棄工作區
相應檔案的的修改
git reset head file把暫存區的修改撤銷掉(unstage),重新放回工作區
git reset
命令既可以回退版本,也可以把暫存區的修改回退到工作區。當我們用head時,表示最新的版本。
git rm file從版本庫中刪除檔案
git remote add origin [email protected]:***x/***x.git將已有的本地倉庫與github上的遠端倉庫關聯
git remote rm origin刪除已經關聯的遠端庫(用於第一次關聯錯位址)
git push -u origin master 第一次推送
master分支時,加上了
-u引數,git不但會把本地的
master分支內容推送的遠端新的
master分支,還會把本地的
master分支和遠端的
master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。
git push origin master 實際上是把當前分支
master推送到遠端
git push -u origin master -f 強制將本地庫push到遠端庫(
遠端庫會丟失改動)
git clone [email protected]:***x/***x從github遠端庫裡面轉殖乙個本地庫
git branch dev建立
dev分支
git checkout dev切換到
dev分支
git checkout -b dev建立
dev分支然後切換到
dev分支
git branch命令會列出所有分支,當前分支前面會標乙個
*號git checkout master切換到
master分支
git merge ***命令用於合併指定分支***到當前分支
git branch -d ***刪除分支***
git log --graph命令可以看到分支合併圖
git log --graph --pretty=oneline --abbrev-commit分支合併圖,只顯示版本號的前幾位
git merge --no-ff -m "merge with no-ff" ***
強制禁用
fast forward模式,git就會在merge時生成乙個新的commit
git stash把當前工作現場「儲藏」起來,等以後恢復現場後繼續工作
git stash list檢視儲存的工作現場
git stash drop來刪除儲存的工作現場
git stash pop
恢復現場的同時把stash內容也刪了
git remote檢視遠端庫的資訊
git remote -v顯示更詳細的資訊
git push origin ***推送分支,就是把該
***分支上的所有本地提交推送到遠端庫。(建立遠端分支)
git pull抓取遠端庫最新到本地
git branch --set-upstream-to=origin/dev dev本地分支dev和遠端分支dev的鏈結關係建立
git tag 用於新建乙個標籤,預設為head,也可以指定乙個commit id
git tag -a -m "blablabla..."可以指定標籤資訊;
git tag -s -m "blablabla..."可以用pgp簽名標籤;
git tag檢視所有標籤。
git tag -d v0.1 刪除標籤
git push origin v0.1推送某個標籤到遠端
git push origin --tags一次性推送全部尚未推送到遠端的本地標籤
git push origin :refs/tags/v0.9刪除乙個遠端標籤(前提是要先刪除本地的相同名稱的這個標籤,再push)
git 學習記錄
1 配置git使用預設的編輯器,比如當commit 時忘記提交log資訊,git將呼叫此編輯器讓你輸入.配置方法 git config global core.editor emacs 其中emacs可以替換成你喜歡的任意編輯器 2 git rm 刪除版本庫中的檔案記錄 從index中刪除 包括工作...
Git學習記錄
之前認真的學過git,最近一直在學習其他的,沒怎麼用git,都有點生疏了,今天來複習一下git,加之之前學git也沒有做筆記 首先講一下工作區和暫存區,工作區 主機上的工作目錄,例如建立的乙個專案目錄。工作區中有乙個隱藏目錄.git,它不算工作區,而是git的版本庫。git的版本庫中存了很多東西,其...
Git學習記錄
檢視狀態 git status 檢視詳細修改 git diff 新增 刪除檔案 git add rm filename 提交並新增資訊 git commit m your descriptions 檢視歷史日記 git log 本地分支推送 git push origin branch local ...