git是目前世界上最先進的分布式版本控制系統,版本控制是一種記錄乙個或若干檔案內容變化,以便將來查閱待定版本修訂情況的系統。
工作區與版本庫
工作區
就是你在電腦裡能看到的目錄
版本庫
工作區有乙個隱藏目錄.git,就是git的版本庫
建立版本庫
切換目錄位置cd f:/task
顯示當前目錄位置 pwd
建立respository mkdir (在工作區生成資料夾)
初始化resposity git init//把這個目錄變成git可以管理的倉庫
(初始化後,在當前目錄下會出現乙個名為.git的目錄,所有git需要的資料和資源都存放在這個目錄中,.git目錄,這個目錄預設是隱藏的,用ls-ah命令就可以看見。
工作區檔案操作
cat //檢視當前工作區檔案具體內容
git checkout –//其實是用版本庫里的最新版本替換工作區的版本
rm //從工作區刪除檔案
git版本庫暫存區操作
git add //新增檔案到暫存區
git add -u//只會處理已修改或者已刪除的檔案,但是不會處理新建的檔案
git reset head file//將檔案的版本庫的最新版本重新放回工作區(已add)
git版本庫操作
儲存快照到分支:git commit -m 「說明」 //提交說明,實際上就是把暫存區的所有內容提交到當前分支上
檢視快照記錄:git log
git reflog //檢視每一次commit以及reset,以便檢視commit -id
版本回退:
git reset –hard head^
從版本庫刪除檔案:git rm
從遠端倉庫刪除檔案:先在工作區刪掉,然後git commit -a -m 「a file was deleted」,最後git push
檔案狀態跟蹤記錄
狀態檢視:git status
三種狀態:
1.untraked file(工作區的檔案未被跟蹤的檔案)
2.changes to be commited(暫存區的檔案,將要被提交的修改)
3.changes not staged for commit(沒有準備提交的修改或檔案之前提交過,然後進行了修改但還為add)
檔案修改檢視
git diff //檢視具體修改內容
git diff head –readme.txt //檢視版本庫最新版本與工作區最新版本的區別
git分支
每次提交,git都把它們串成一條時間線,這條時間線就是乙個分支,所以分支就是一條commit時間線。
head嚴格來說不是指向提交,而是指向master,master才是指向提交的,所以,head指向的就是當前分支。
建立分支並切換
git checkout -b
兩部完成:
git branch //建立分支
git checkout //切換分支到當前分支
檢視分支:git branch
合併分支:
git merge
git merge
刪除分支:
git branch -d
git branch -d //強行刪除
檢視分支合併圖
git log –graph
git log –graph –pretty=oneline –abbrev-commit //簡化資訊
本地分支與遠端分支同步
git checkout -b branch-name origin/branch -name//在本地建立和遠端分支對應的分支
git branch –set-upstream branch-name origin/branch-name //建立本地分支和遠端分支的關聯
標籤管理
乙個版本庫儲存乙個分支master,各自的版本庫儲存著各自的分支,各自的主分支名稱都為master
標籤是指向某個commit的指標
git tag commit -id(可選)
git tag -a -m 『說明』 commit-id(可選)
檢視標籤:git tag
檢視標籤資訊:git show
刪除標籤:git tag -d//本地
遠端倉庫
檢視當前遠端庫列表:
git remote//它會列出每個遠端庫的簡短名字
git remote -v//-v選項,顯示對應的轉殖位址
git remote show[remote-name]//檢視某個遠端倉庫的詳細資訊
新增遠端倉庫
git remote add[shortname] [url]
刪除遠端倉庫
git remote rm [remote-name]
遠端倉庫重新命名
git remote rename [old] [new]
遠端操作
git ls-remote//顯示獲得遠端引用的完整列表
git push[remote-name][branch-name]
git remote add origin [email protected]:murphywu/task0001.git
//新增遠端倉庫origin
git push origin master//實際上是把當前分支master推送到遠端庫origin
git push -u origin master //推送到當前分支master
從遠端庫轉殖倉庫到本地
git clone [email protected]:murphyuwu/task0001.git
學習版本控制工具Git
1 怎樣理解版本控制 版本控制是管理資料變更的藝術,無論資料變更時來自同乙個人,還是來自不同的人 乙個團隊 版本控制系統不但要忠實地記錄資料的每一次變更,還要能夠幫助還原任何一次歷史變更,以及團隊的協同工作等.2 傳統的集中式版本控制系統不能有效地管理分支和進行分支合併.集中管理的版本庫只有唯一的分...
git版本控制工具的學習
1 關於版本控制 版本控制是一種記錄乙個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統。有以下三種版本控制系統 1.本地版本控制系統 許多人習慣用複製整個專案目錄的方式來儲存不同的版本,或許還會改名加上備份時間以示區別。這麼做唯一的好處就是簡單。不過壞處也不少 有時候會混淆所在的工作目錄,一...
git 版本控制工具入門學習
1.git使用流程是什麼樣的?2.git是集中式布局的版本管理工具嗎?不是的,git是分布式的,git的在開發中一直遵循著以下幾項原則 3.git的三種狀態分別是哪三種?對於乙個任何的檔案,git檔案的狀態都只有三種,分別是 已提交,已修改,已暫存,已提交指的事修改的檔案已經被儲存到本地 本地倉庫中...