Git 學習筆記 一

2021-07-28 08:25:12 字數 3367 閱讀 5672

cvs(始祖,集中式2023年)–>svn(集大成者,集中式2023年)–>git(geek主流,分布式2023年)–>github(geek社群,託管**2023年)

git是目前世界上最先進的分布式版本控制系統.

svn 是集中式版本控制系統,版本庫是放在**伺服器的,而幹活的時候,用的都是自己的電腦,

所以首先要從**伺服器那裡得到最新的版本,然後幹活,幹完後需要把自己做完的活推送到**伺服器.

集中式版本控制系統是必須聯網才能工作,如果在區域網還可以,頻寬夠大,速度夠快,如果在網際網路下,如果網速慢的話,就納悶了.

> git是分布式控制系統,那麼它就沒有**伺服器的,每個人的電腦就是乙個完整的版本庫,這樣工作的時候就不需要聯網了,因為版本都是在自己的電腦上.
既然每個人的電腦都是乙個完整的版本庫,那多個人之間如何協作呢?比如自己在電腦上改了a檔案,其他人也在電腦上改了a檔案,

這時你們兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了!

msysgit是windows 版的git.安裝完成後,在開始選單裡面找到」git ->git bash」,因為git是分布式版本控制系統,所以需要填寫使用者名稱和郵箱作為乙個標識.

git config --global user.name "***"

git config --global user.email "******@163.com"

注意:git config –global 引數,有了這個引數,表示你這台機器上所有的git倉庫都會使用這個配置,當然你也可以對某個倉庫指定的不同的使用者名稱和郵箱。

一: 建立版本庫

什麼是版本庫?版本庫又名倉庫,英文名repository,你可以簡單的理解為乙個目錄,這個目錄裡面的所有檔案都可以被git管理起來,每個檔案的修改,刪除,git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來的某個時刻還可以將檔案」還原」.

1. 通過命令git init把這個目錄變成git 可以管理的倉庫

這時候你當前testgit目錄下會多了乙個.git的目錄,這個目錄是git來跟蹤管理版本的,沒事千萬不要手動亂改這個目錄下的檔案,否則會把git倉庫給破壞了.
2. 把檔案新增到版本庫中

下面是demo演示:

在版本庫testgit 目錄下新建乙個記事本檔案 readme.txt 內容如下:11111111;

第一步:使用git 命令: ```git add readme.txt``` 新增到暫存區裡面去.如果沒有任何提示,說明已經新增成功了

第二步:用命令 ```git commit -m "可新增提交注釋"``` 告訴git,把檔案提交到倉庫.

(提交修改和提交檔案是一樣的兩步:第一步是git add,第二步是git commit -m "注釋")

命令 ```git status``` 檢視狀態

命令 ```git diff readme.txt``` 檢視檔案改了什麼內容

命令 ```git log``` 檢視歷史記錄,顯示從最近到最遠的日誌,簡化版:```git log --pretty=oneline```

二: 版本回退

回退到上乙個版本:git reset --hard head^

上上個版本:git reset --hard head^^

回退到前100個版本:git reset --hard head~100

回退後要知道前乙個版本號:git reflog

回退後再恢復:git reset -hard版本號

三: 理解工作區與暫存區的區別

。。。。。。
mkdir:         xx (建立乙個空目錄 xx指目錄名)。

pwd: 顯示當前目錄的路徑。

git init 把當前的目錄變成可以管理的git倉庫,生成隱藏.git檔案。

git add xx /git add .(新增所有檔案) 把xx檔案新增到暫存區去。

git commit –m 「xx」 提交檔案 –m 後面的是注釋。

git status 檢視倉庫狀態。

git diff xx 檢視xx檔案修改了那些內容。

git log 檢視歷史記錄。

git reset –hard head^ 或者 git reset –hard head~ 回退到上乙個版本(如果想回退到100個版本,使用git reset –hard head~100 )。

cat xx 檢視xx檔案內容。

git reflog 檢視歷史記錄的版本號id。

git checkout — xx 把xx檔案在工作區的修改全部撤銷。

git rm xx 刪除xx檔案。

git remote add origin 關聯乙個遠端庫;

git push –u(第一次要用-u 以後不需要) origin master 把當前master分支推送到遠端庫;

git clone 從遠端庫中轉殖。

git checkout –b dev 建立dev分支 並切換到dev分支上。

git branch 檢視當前所有的分支。

git checkout master 切換回master分支。

git merge dev 在當前的分支上合併dev分支。

git branch –d dev 刪除dev分支。

git branch name 建立分支。

git stash 把當前的工作隱藏起來 等以後恢復現場後繼續工作。

git stash list 檢視所有被隱藏的檔案列表。

git stash drop 刪除檔案。

git stash pop 恢復檔案的同時 也刪除檔案。

git remote 檢視遠端庫的資訊。

git remote –v 檢視遠端庫的詳細資訊。

git push origin master git會把master分支推送到遠端庫對應的遠端分支上。

想拷貝別人專案到自己帳號下就fork一下。

持續關注別人專案更新就star一下。

watch是設定接收郵件提醒的。

勾選initialize this repository with a readme: 當在檔案中作一些修改,寫一些專案介紹的時候可以在整個專案的主頁裡看的到。

學習git筆記(一)

git config global user.name your name git config global user.email email example.com 建立乙個版本庫非常簡單,首先,選擇乙個合適的地方,建立乙個空目錄 mkdir learngit cd learngit pwd u...

git 學習筆記一

本地修改後的內容叫工作區,add後的內容在暫存區,git commit m comit instruction 提交說明 git reset hard head 版本庫回退到上一版本 git reset hard commit id 回到commit對應的版本 如果不知道commitid git r...

git學習筆記(一)

1.理解git工作區 暫存區和版本庫 工作區為當前電腦內可以可到的目錄,隱藏目錄 git不是工作區,而是版本庫,內含各個分支及內容,包括master主分支。而暫存區為工作區到版本庫的過渡。注意git commit只負責將暫存區的修改提交。沒有執行git add 而僅執行git commit是無法提及...