一、git的簡單了解
世界上最先進的分布式版本控制系統(沒有之一);
集中式版本控制系統最大的毛病就是必須聯網才能工作;
和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦裡都有完整的版本庫,某一個人的電腦壞掉了不要緊,随便從其他人那裡複制一個就可以了。而集中式版本控制系統的中央伺服器要是出了問題,所有人都沒法幹活了;
Git極其強大的分支管理,把SVN等遠遠抛在了後面;
二、如何使用
1、安裝(安裝完成後,在開始菜單裡找到“Git”->“Git Bash”,蹦出一個類似指令行視窗的東西,就說明Git安裝成功了)。
2、設定,在指令行輸入如下;
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
注意
git config
指令的
--global
參數,用了這個參數,表示你這台機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的使用者名和Email位址。
3、建立版本庫(又名倉庫,英文名repository,也可以了解為目錄,目錄裡面的所有檔案都可以被Git管理起來,每個檔案的修改、删除,Git都能跟蹤,以便任何時刻都可以追蹤曆史,或者在将來某個時刻可以“還原”);
- 建立一個空目錄:mkdir learngit && cd learngit;
- 初始化一個Git倉庫,使用
指令把這個目錄變成Git可以管理的倉庫(多了一個.git檔案是git來跟蹤管理版本庫的,沒有的話ls-ah 指令可以看見);
git init
- 添加檔案到git倉庫分兩步;第一步:使用指令
,注意,可反複多次使用,添加多個檔案;第二步,使用指令
git add <file>
,完成。
git commit -m "說明"
三、操作(回退、工作區和暫存區stage、管理、撤銷、删除)--modified被修改
Git管理的是修改,而不是檔案呢
從來沒有被添加過的話,它的狀态是
Untracked files
紅色代表工作區 綠色代表暫存區
vi readme.txt 進入編輯狀态,怎麼退出編輯呢
head表示最新版本
1、版本回退
怎麼檢視txt檔案内容
mkdir 檔案夾 && cd 檔案夾
git init 初始化
git add file 檔案名 添加到倉庫
git commit -m "說明" 送出到倉庫
git log 檢視送出日志
git log --pretty=oneline 檢視日志顯示一行
git reset --hard 版本号 (git reset --hard HEAD^ 回到上個版本) --復原到某個版本
git reflog 重回未來版本日志
git status 檢視狀态在哪個區,哪些未送出等
git diff HEAD -- readme.txt
指令可以檢視工作區和版本庫裡面最新版本的差別(如果不
add
到暫存區,那就不會加入到
commit
)
使用場景
場景1:當你改亂了工作區某個檔案的内容,想直接丢棄工作區的修改時,用指令
git checkout -- file
。
場景2:當你不但改亂了工作區某個檔案的内容,還添加到了暫存區時,想丢棄修改,分兩步,第一步用指令
git reset HEAD file
,就回到了場景1,第二步按場景1操作。-----因為
git reset HEAD file
可以把暫存區的修改撤銷掉(unstage),重新放回工作區,然後工作區再恢複到最新版本庫
場景3:已經送出了不合适的修改到版本庫時,想要撤銷本次送出,直接版本回退,不過前提是沒有推送到遠端庫。
删除檔案
del ***.txt window下删除txt檔案
1.現在你有兩個選擇,一是确實要從版本庫中删除該檔案,那就用指令
git rm
删掉,并且
git commit
:
$ git rm test.txt
$ git commit -m "remove test.txt"
2. 另一種情況是删錯了,因為版本庫裡還有呢,是以可以很輕松地把誤删的檔案恢複到最新版本:
$ git checkout -- test.txt