建立乙個空目錄。
$ mkdir learngit
$ cd learngit
$ pwd //用於顯示當前目錄
通過git init
命令把這個目錄變成git可以管理的倉庫。
$ git init
把檔案新增到倉庫。
(1) 開啟readme
檔案。
$ vi readme.txt
(2) 編寫乙個readme.txt
檔案,i
是插入模式,esc
鍵,:wq
儲存退出。
使用git status
命令隨時掌握倉庫工作區的狀態,git status
命令用於顯示工作目錄和暫存區的狀態(git cat-file
命令顯示版本庫物件的內容、型別及大小資訊)。
如果git status
告訴你有檔案被修改過,用git diff
可以檢視修改內容。
穿梭前,用git log
命令檢視歷史記錄,以便確定要回退到哪個版本,如果嫌輸出資訊太多,可以用git log--pretty=oneline
引數。
head
指向的版本就是當前版本,因此,git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id
。
git提供了乙個命令git reflog
用來記錄你的每一次命令,要重返未來,用git reflog
檢視命令歷史,以便確定要回到未來的哪個版本。
命令git rm
用於刪除乙個檔案
確實要從版本庫中刪除該檔案,那就用命令git rm
刪掉,並且git commit
。
另一種情況是刪錯了,$ git checkout -- ,
把誤刪的檔案恢復到最新版本。
通過ssh key實現遠端倉庫與本地倉庫相連線
要關聯乙個遠端庫,使用命令git remote add origin git@server-name:path/repo-name.git
;
關聯後,使用命令git push -u origin master
第一次推送master分支的所有內容;
此後,每次本地提交後,就可以使用命令git push origin master
推送最新修改;
分布式版本系統的最大好處之一是在本地工作完全不需要考慮遠端庫的存在,也就是有沒有聯網都可以正常工作,當有網路的時候,再把本地提交推送一下就完成了同步。
要轉殖乙個倉庫,首先必須知道倉庫的位址,然後使用git clone
命令轉殖。
$ git clone [email protected]:michaelliao/gitskills.git
$ cd gitskills(倉庫名)
$ ls
readme.md(進入gitskills目錄看看,已經有readme.md檔案了)
git支援多種協議,包括https,但通過ssh支援的原生git協議速度最快。
建立了乙個屬於自己的分支,別人看不到,還繼續在原來的分支上正常工作,而你在自己的分支上幹活,想提交就提交,直到開發完畢後,再一次性合併到原來的分支上。
當git無法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。
解決衝突就是把git合併失敗的檔案手動編輯為我們希望的內容,再提交。
用git log --graph
命令可以看到分支合併圖。
master
分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活,幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發布時,再把dev分支合併到master上,在master分支發布1.0版本。
修復bug時,我們會通過建立新的bug分支進行修復,然後合併,最後刪除;
當手頭工作沒有完成時,先把工作現場git stash
一下,然後去修復bug,修復後,再git stash pop
,回到工作現場。
開發乙個新feature,最好新建乙個分支,在上面開發完成後,合併,最後刪除該feature分支;
如果要丟棄乙個沒有被合併過的分支,可以通過git branch -d
強行刪除。
rebase
的目的是使得我們在檢視歷史提交的變化時更容易,因為分叉的提交需要三方對比。
標籤tag
就是乙個讓人容易記住的有意義的名字,它跟某個commit
綁在一起。
首先切換到需要打標籤的分支上。
然後敲命令git tag
就可以打乙個新標籤。
可以用命令git tag
檢視所有標籤。
預設標籤是打在最新提交的commit
上的,之前的commit
標籤沒有打可以找到歷史提交的commit
,然後打上就可以了。
可以用git show
檢視標籤資訊
命令git tag -a -m "blablabla..."
可以指定標籤資訊,用-a
指定標籤名,-m
指定說明文字;
注意:標籤總是和某個commit
掛鉤。如果這個commit
既出現在master
分支,又出現在dev
分支,那麼在這兩個分支上都可以看到這個標籤。
先刪除已關聯的名為origin的遠端庫:
git remote rm origin
再關聯github的遠端庫:git remote add github [email protected]:michaelliao/learngit.git
再關聯碼雲的遠端庫:git remote add gitee [email protected]:liaoxuefeng/learngit.git
git 命令學習
mkdir test 建立test資料夾 cd test 進入test檔案 git init 建立空白的git檔案 ls 檢視當前目錄的檔案內容 cd 返回上一目錄 vi xx.txt 編輯乙個txt文件 git status 檢視當前狀態 git commit m add add.txt m的後面...
學習Git命令
git 倉庫的一次commit記錄所提交目錄下所有檔案的快照,感覺像是大量的複製和貼上,但git並非如此!git 希望提交的記錄盡可能的輕量,所以每次進行提交時,它不會簡單地複製整個目錄,條件允許的情況下,git會把提交壓縮成從 倉庫中的乙個版本到下乙個版本的變化合集,也叫作 增量delta git...
Git命令學習
列出當前版本號 列出遠端倉庫 git remote v 選項,列出遠端倉庫位址 3.新增遠端倉庫 git remote add pb https address檢查當前檔案狀態 git status遠端倉庫的移除和重新命名 git remote rename firstname changednam...