Git基本命令學習筆記
今天學習Git這個版本管理工具,學習地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
現將筆記整理髮布:
git命令總結
----------基礎-------------------
1 $ git config --global user.name "fflin" //關聯用戶名
2 $ git config --global user.email "[email protected]" //關聯郵箱
3 $ mkdir fflindemo //創建版本庫
4 $ cd fflindemo //進入版本庫
5 $ pwd //顯示當前目錄
6 $ git init //初始化倉庫
顯示 Initialized empty Git repository in C:/Users/Administrator/fflindemo/.git/
其中.git是Git用來跟蹤管理版本庫的,不要手動修改
7 $ git add readme.txt 把文件放入倉庫目錄裏,使用這個命令告訴Git,實際上是把文件放到了Git的暫存區(stage)
8 $ git commit -m "add a readme file" 把文件提交到Git
提交成功:
[master (root-commit) f937b08] add a readme file
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 readme.txt
9 $ git status 查看倉庫當前狀態
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
10 $ git diff readme.txt 查看被修改的文件都改了什麼內容
$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index e69de29..8993a63 100644
--- a/readme.txt
+++ b/readme.txt
@@ -0,0 +1 @@
+hello Git
11 $ git log 查看提交的歷史記錄
commit b469255efc0c5864c483af7701bfa2f4dbae97ac
Author: fflin <[email protected]>
Date: Wed Mar 15 09:54:08 2017 +0800
文件增加一行文本
commit f937b08f902c9b389c4063a56cd4b16c3b9cd2a2
Author: fflin <[email protected]>
Date: Wed Mar 15 09:47:09 2017 +0800
add a readme file
12 $ git log --pretty=oneline //以一行的形式來查看git提交日誌
b469255efc0c5864c483af7701bfa2f4dbae97ac 文件增加一行文本
f937b08f902c9b389c4063a56cd4b16c3b9cd2a2 add a readme file
13 $ git reset --hard HEAD //回退到上一個版本
HEAD is now at f937b08 add a readme file
上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。
14 $ git reflog 顯示每一次指令
b469255 HEAD@{0}: reset: moving to b469255
f937b08 HEAD@{1}: reset: moving to HEAD
f937b08 HEAD@{2}: reset: moving to HEAD^
b469255 HEAD@{3}: commit: 文件增加一行文本
f937b08 HEAD@{4}: commit (initial): add a readme file
15 $ git checkout -- readme.txt 可以丟棄對工作區的修改,刪除掉工作區文件新添加的部分,注意這裏是“--”
16 $ git reset HEAD readme.txt 可以撤銷對暫存區的修改,撤銷已經add到暫存區的文件,使文件回到工作區,然後使用第15條指令,撤銷工作區的修改
17 $ rm test.txt 刪除文件
18 $ git rm tesr.txt 確定刪除文件
rm 'tesr.txt'
19 $ git checkout -- test.txt 撤銷刪除文件
20 $ ssh-keygen -t rsa -C "[email protected]" 創建SSH Key,創建完成會在“C:\Users\Administrator\.ssh”目錄下生成兩個文件,一個公鑰一個私鑰
-------------------------分支---------------------------------
21 $ git checkout -b dev 創建dev分支,然後切換到該分支
Switched to a new branch 'dev'
$ git branch dev 創建分支
$ git checkout dev 切換分支
22 $ git branch 列出所有分支,在當前分支前加了"*"
* dev
master
23 在當前分支(dev)上修改了readme.txt文本內容並執行add 和 commit的操作後
$ git checkout master 切換到master分支,再打開文件夾查看readme.txt,發現修改後的內容並沒有出現
24 $ git merge dev 合併指定分支到當前分支,合併後,再查看readme.txt文件,發現已經出現了剛纔修改的內容
25 $ git branch -d dev 合併後內容都再當前分支了,就可以刪除dev分支
26 分支衝突強行合併時,文件內容
hello Git
添加log
添加了dev 分支
<<<<<<< HEAD
添加了feature1分支,master
=======
添加了feature分支
>>>>>>> feature1
git以<<<<<<<< ====== >>>>>>>>>>來標記不同的分支內容,
修改後,執行add和commit的操作
27 $ git log --graph --pretty=oneline --abbrev-commit 查看分支的合併情況
28 $ git stash 開發過程中會遇到一個功能未完善或者某個邏輯未寫完時,有需要處理某個Bug,這時用stash命令把當前的工作區儲藏起來,修復完Bug後再繼續工作
Saved working directory and index state WIP on master: dbfe060 處理了衝突
HEAD is now at dbfe060 處理了衝突
Administrator@PC-179 MINGW64 ~/fflinDemo (master)
$ git status
On branch master
nothing to commit, working tree clean
29 $ git stash pop 恢復儲藏的文件,回到工作現場
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (0733938ec2cd86631700661319a64a298874dd9a)
-------------遠程-----------------
30 $ git remote -v 查看遠程庫信息
origin [email protected]/fflinDemo.git (fetch)
origin [email protected]/fflinDemo.git (push)
--------------標籤----------------------.
31 $ git tag v1.0 創建標籤
32 $ git tag 查看所有標籤
33 $ git tag v0.9 a6641b5 爲未打標籤的提交增加標籤
34 $ git tag -a v0.1 -m "第一個文件" f937b08 創建帶有說明的標籤,-a代表標籤名,-m代表說明文本
35 $ git show v0.1 展示帶有說明的標籤的提交
tag v0.1
Tagger: fflin <[email protected]>
Date: Wed Mar 15 14:10:09 2017 +0800
第一個文件
commit f937b08f902c9b389c4063a56cd4b16c3b9cd2a2
Author: fflin <[email protected]>
Date: Wed Mar 15 09:47:09 2017 +0800
add a readme file
diff --git a/readme.txt b/readme.txt
new file mode 100644
index 0000000..e69de29
36 $ git tag -d v0.9 刪除錯誤標籤
Deleted tag 'v0.9' (was a6641b5)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.