Git學習記錄 2016 11 18

2021-07-24 17:44:15 字數 3697 閱讀 3763

初次學習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 ...