1.建立版本庫:在沒有庫的情況下,剛開始建立倉庫的時候才需要。
什麼是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成乙個目錄,這個目錄裡面的所有檔案都可以被
git管理起來,每個檔案的修改、刪除,
git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以「還原
」。通過git init
命令把這個目錄變成
git可以管理的倉庫:
$ git init
initialized
empty
gitrepositoryin/
users
/michael/learngit/.git/
2.提交到版本庫
第一步,用命令git add
告訴
git,把檔案新增到倉庫:
$ git add readme.txt
執行上面的命令,沒有任何顯示,這就對了,
unix
的哲學是
「沒有訊息就是好訊息
」,說明新增成功。
第二步,用命令git commit
告訴
git,把檔案提交到倉庫:
3.檢視狀態
執行git status
命令看看結果
彙總顯示工作區、暫存區與
head
的差異:git checkout
4.
檢視修改內容
用git diff
可以檢視修改內容
5.檢視提交日誌
用git log
命令
或者git log--pretty=oneline
命令(更簡化清晰)
6.
版本回退
使用命令git reset--hard commit_id
提交到遠端git push -f
用git reflog
檢視命令歷史,以便確定要回到未來的哪個版本
7.
工作區和暫存區
前面講了我們把檔案往
git版本庫里新增的時候,是分兩步執行的:
第一步是用git add
把檔案新增進去,實際上就是把檔案修改新增到暫存區;
第二步是用git commit
提交更改,實際上就是把暫存區的所有內容提交到當前分支。
8.撤銷修改場景1
:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout -- file
。場景2
:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head file
,就回到了場景
1,第二步按場景
1操作。場景3
版本回退
一節,不過前提是沒有推送到遠端庫。
9.刪除檔案
用命令git rm
刪掉,並且git commit
git reset head file
與
git checkout -- file
10.遠端倉庫
要關聯乙個遠端庫,使用命令git remote add origin git@server-name:path/repo-name.git
;
關聯後,使用命令git push -u origin master
第一次推送
master
分支的所有內容;
此後,每次本地提交後,就可以使用命令git push origin master
推送最新修改。
11.從遠端庫轉殖
使用git clone
命令轉殖。
12.分支管理
檢視分支:git branch
建立本地分支:git branch origin/master(
基於
master
建立分支
)
把新建本地分支提交到遠端:git push origin
切換分支:git checkout
建立+
切換分支:git checkout -b
合併某分支到當前分支:git merge
禁用fast forward
模式的合併:git merge –no-ff
刪除本地分支:git branch -d
(
-d
強制刪除)
刪除遠端分支:git push –d origin
在本地建立和遠端分支對應的分支,使用
git checkout -b branch-name origin/branch-name
,本地和遠端分支的名稱最好一致;
建立本地分支和遠端分支的關聯,使用
git branch --set-upstream branch-name origin/branch-name
。或者git branch --set-upstream-to=origin/branch-name
取消本地與遠端分支的關聯,使用
git branch –-unset-upstream branch-name
13.解決衝突
切換到master分支:git checkout master
合併其他分支:git merge
衝突後檢視:git status
以及
git log --graph --pretty=oneline --abbrev-commit
14.儲存當前未完成的分支,但並不提交
修復bug
時,我們會通過建立新的
bug分支進行修復,然後合併,最後刪除;
當手頭工作沒有完成時,先把工作現場git stash
一下,然後去修復
bug,修復後,再用git stash list
檢視
,用git stash pop
或者
恢復、git stash drop
刪除,回到工作現場。
15.標籤管理
·
命令git tag
用於新建乙個標籤,預設為head
,也可以指定乙個
commit id
;·git tag -a -m "blablabla..."
可以指定標籤資訊;
·git tag -s -m "blablabla..."
可以用
pgp簽名標籤;
·
命令git tag
可以檢視所有標籤。
·
命令git push origin
可以推送乙個本地標籤;
·
命令git push origin --tags
可以推送全部未推送過的本地標籤;
·
命令git tag -d
可以刪除乙個本地標籤;
·
命令git push origin:refs/tags/
可以刪除乙個遠端標籤
16.配置別名
$ git config --globalalias.st status
那麼git st
就代表git status
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"
Git常用操作命令
git常用操作命令收集 1 遠端倉庫相關命令 檢出倉庫 git clone git 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端倉庫 git remote rm name 修改遠端倉庫 git remote set url push ...
Git常用操作命令
git常用操作命令收集 1 遠端倉庫相關命令 檢出倉庫 git clone git 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端倉庫 git remote rm name 修改遠端倉庫 git remote set url push ...
Git常用操作命令
git常用操作命令收集 1 遠端倉庫相關命令 檢出倉庫 git clone git 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端倉庫 git remote rm name 修改遠端倉庫 git remote set url push ...