git 廖雪峰學習筆記

2021-09-25 07:33:17 字數 2479 閱讀 1225

#git的誕生

linus堅決反對cvs和svn等集中式版本控制系統(因為速度慢且需要聯網)

–>bitmover公司授權linux社群商業軟體bitkeeper免費使用權

–>linus社群牛人試圖破解bitkeeper的協議被bitmover公司發現

–>bitmover公司收回linux社群bitkeeper免費使用權

–>linus花兩周時間用c語言寫出了分布式版本控制系統git

集中式vs分布式

分布式在本地就可儲存歷史痕跡,不用擔心汙染伺服器,集中式提交就到伺服器了,如果提交出錯就比較麻煩。

集中式版本控制系統的版本庫放在**伺服器,分布式版本控制系統的版本庫每個人的電腦上都有。

集中式版本控制系統必須聯網才能使用,分布式版本控制系統不必聯網就能使用。

分布式版本控制系統的安全性更高,分支管理特別優秀。

集中式如果單點故障,大家甚至無法提交更無法開分支。

有趣的小知識

以前軟體gnu interactive tools也叫git,所以老版本linux安裝git需要使用命令sudo apt-get install git-core。

當然,之後隨著git的名氣越來越大,後來gnu interactive tools改名成了gnuit,git-core正式改名為git

unix的哲學之一

「沒有訊息就是好訊息」

git命令列的使用

1:提交與簡單使用

$ git add:新增到暫存區

$ git commit -m 「注釋」 :暫存區的所有修改提交到當前分支

$ git status:檢視當前分支狀態

$ cat xx.txt:檢視xx.txt檔案

2:回退過去與未來版本

$ git log:最近的提交日誌 順序先提交的在下面,後提交的在上面

$ git reset --hard head: head是當前版本 head^上乙個版本

$git reset --hard 1094a hard後為commit id

$ git reflog:檢視歷史命令,可用於查詢未來版本的commit_id

3:管理修改與刪除檔案

$ git diff head – readme.txt :檢視當前版本和工作區的readme.txt的區別

$ git checkout – readme.txt:撤銷工作區readme.txt的所有修改,讓這個檔案回到最近的一次git add或者git commit的版本

$ git reset head readme.txt:撤銷暫存區readme.txt的修改

$ rm readme.txt:刪除工作區reademe.txt檔案

$ git rm readme.txt:刪除版本庫中readme.txt檔案

4:建立與管理分支

$ git remote add origin [email protected]:「使用者名稱」/learngit.git:在本地關聯遠端庫

$ git push -u origin master:將本地庫的所有內容推送入遠端庫

$ git clone [email protected]:「使用者名稱」/gitskills.git:轉殖遠端庫

$ git remote -v:檢視遠端倉庫的詳細資訊

$ git push origin master:推送master分支上的所有資訊

$ git branch -b dev origin/dev:從遠端倉庫轉殖預設只有master分支,需建立dev分支到本地進行開發

$ git pull:將最新的開發程序從遠端進行抓取,進行合併再通過git push 進行提交

$ git branch --set-upstream-to=origin/dev dev:設定遠端的dev分支與本地的dev分支進行鏈結

$ git rebase:把本地未push的分叉提交歷史整理成直線,使檢視歷史提交的變化更容易

5:標籤

$ git tag v1.0:給當前分支當前commit打上標籤

$ git tag v0.9 f52c:給f52c版本的分支打上標籤

$ git tag -a v0.1 -m 「version 0.1 released」 1094ad:帶有說明的標籤

$ git show v0.1:檢視v0.1標籤的詳細資訊

$ git tag:檢視所有標籤

$ git tag -d v0.1:刪除0.1標籤

$ git push origin v1.0:推送v1.0標籤到遠端

$ git push origin --tags:一次性推送所有標籤到遠端

$ git push origin :refs/tags/v0.9:遠端刪除標籤

Git 廖雪峰 學習筆記

目錄 git工作區域 git初始化及倉庫建立和操作 初始化新的git倉庫 1.新建資料夾 2.在檔案內初始化git 如何將本地倉庫同步到git 遠端倉庫 1.關聯遠端庫 2.第一次推送master分支的所有內容 3.每次本地提交後,推送最新修改 轉殖 分支管理 1.建立與合併分支 2.解決衝突 3....

廖雪峰 Git筆記

git簡介 分布式版本控制系統 集中式vs分布式 集中式版本控制系統,版本庫集中存放在 伺服器,必須要聯網才能工作,沒有歷史版本庫。分布式版本控制系統,不需要 伺服器 每個開發人員電腦上都有乙個完整的版本庫。分布式優勢 安全性更高,無需聯網,若 伺服器 故障,任何乙個其他開發者本地都有最新的帶歷史記...

廖雪峰Git教程學習筆記

git1 通過git init命令把這個目錄變成git可以管理的倉庫 git init 2 用命令git add告訴git,把檔案新增到倉庫 git add readme.txt 3 用命令git commit告訴git,把檔案提交到倉庫 git commit m 這是備註 4 已經記不清上次怎麼修...