第一種:把現有的目錄或者專案匯入git中
第二種:從伺服器上轉殖現有的git倉庫
1.1 在現有目錄中初始化現有倉庫
進入專案目錄輸入:
$ git init
若進行版本控制,要開始進行追蹤和初次提交:
$ git add *.c
$ git add license
$ git commit -m 'initial project version'
稍後解釋這些命令的含義
1.2轉殖現有倉庫
轉殖命令:
$ git clone mylibgit //mylibgit 是目標目錄,可省
與其他的版本控制的『checkout』命令不同,git的『clone』會對伺服器倉庫的幾乎所有資料進行完整的複製,而不只是複製當前的工作目錄
圖1檔案狀態的生命週期
2.1 檢視當前狀態
主要工具:
$ git status
如果在轉殖完倉庫立即執行,則會顯示如下資訊:
$ git status
on branch master
nothing to commit, working directory clean
2.2 跟蹤新檔案
執行以下命令跟蹤readme檔案:
$ git add readme
2.3 暫存已修改檔案$ git add contributing.md
git add 命令既可以原來跟蹤檔案,也可以用來暫存檔案,同時也可以做一些其他的事情。可以把它理解為『新增內容到下一次提交』,而不是『把這個檔案加入到專案中』。
如果在執行git add
之後又對檔案進行了修改,需要再一次執行git add
命令。
2.4 顯示更加簡潔的狀態資訊
$ git status -s
或者
$ git status --short
m readme
mm rakefile
a lib/git.rb
m lib/******git.rb
?? license.txt
說明:2.5 忽略檔案?? : 未跟蹤的新檔案
a:已暫存的新檔案
m:已修改的檔案
如果你想忽略一些自動生成的檔案(例如日誌檔案),這樣的情況下你可以建立乙個名為.gitignore的檔案,在其中列出待匹配檔案模式,例如:
$ cat .gitignore
#告訴git忽略所有以.a .o結尾的檔案
*.[oa]
#忽略所有以~結尾的檔案
*~
.gitignore
檔案中匹配模式的規則如下:
2.6 檢視已暫存和未暫存的變更
檢視尚未新增到暫存區的變更:
$ git
diff
$ git
diff --staged
2.7 提交變更
最簡單的提交方式就是:
$ git commit
直接在命令列上鍵入提交的資訊:
$ git commit -m "story 182:fix benchmarks for speed"
2.8 跳過暫存區$ git commit -a -m 'added new benchmarks'
2.9 移除檔案$ git
rm projects.md
下次提交的時候這個檔案就不存在了,也不會被git跟蹤管理
如果你想把檔案保留在工作目錄,但是從暫存區移除該檔案,只需要使用–cached選項即可:
$ git
rm --cached readme
2.10 移動檔案
無論你是使用git的mv命令,還是直接給檔案改名,git都能推斷出這是重新命名的操作
$ git
mv readme.md readme
$ git log
git log 有很多不同的選項,可以直觀的展示所需要的內容。
選項-p,還可以加上-2,最近兩次提交所引入的差異:
$ git log -p -2
選項 --stat,可以檢視每個提交的簡要統計資訊
$ git log --stat
另外乙個頗為有用的選項是 --pretty,它可以更改日誌輸出的預設格式
$ git log --pretty==oneline
除了online之外,short、full、和fuller格式選項分別比預設輸出減少或增加一些資訊。最值得注意的選項是format,它允許你指定自己的輸出格式
$ git log --pretty=format:"%h - %an, %ar : %s"
表1 git log --pretty=format命令的一些有用的選項
格式選項
輸出的格式描述
%h提交物件的雜湊值
%h提交物件的簡短雜湊值
%t樹物件的雜湊值
%t樹物件的簡短雜湊值
%p父物件的雜湊值
%p父物件的簡短雜湊值
%an作者的名字
%ae作者的電子郵箱位址
%ad創作日期(可使用-date=選項指定日期格式)
%ar相對於當前日期的創作日期
%cn提交者的名字
%ce提交者的電子郵箱位址
%cd提交日期
%cr相當於當前日期的提交日期
%s提交資訊的主題
限制提交歷史的輸出範圍
$ git log --since=2.weeks
表2 用於限制git log輸出範圍的選項
選項描述
-(n)
只顯示最新的n次提交
–since,–after
只輸出指定日期之後的提交
–until,–before
只輸出指定日期之前的提交
–auth
只輸出作者與指定字串匹配的提交
–committer
只輸出提交者與指定字元匹配的提交
–grep
只輸出提交資訊包含指定字串的提交
-s只輸出包含「新增或刪除指定字串」的更改的提交
4.1 撤銷已暫存的檔案
$ git reset head filename
4.2 撤銷對檔案的修改$ git checkout -- 檔名
這是一條很危險的命令,因為上述命令用之前的版本做了覆蓋,除非你確信不需要這些檔案,否則不要使用這個命令。
5.1 顯示遠端倉庫
$ git clone
5.2 新增遠端倉庫$ git remote add pb
現在你可以在命令列中使用pb字元代替完整的url。比如,要獲取paul擁有而你還沒擁有的全部資料,可以執行下面命令:
$ git fetch pb
5.3 從遠端倉庫獲取和拉取資料$ git fecth [remote-name]
5.4 將資料推送到遠端倉庫$ git push origin master
5.5 檢查遠端倉庫$ git remote show origin
5.6 刪除和重新命名遠端倉庫#重新命名
$ git remote rename pb paul
#刪除$ git remote rm paul
git基礎命令使用
git是乙個分布式的版本控制系統,其可以保證我們在開發過程中 的安全性以及對團隊開發 的管理維護。一 使用前的準備 1 安裝 centos上安裝git命令 yum install git ubuntu上安裝git命令 sudo apt get install git 2 身份資訊設定 第一次在機器上...
Git使用基礎命令
作業系統 ubuntu 16.04 操作方式 命令列方式 初始化乙個版本倉庫 git init eg mkdir test 建立乙個資料夾 cd test 切換到新建的資料夾 git init 初始化版本倉庫 initialized empty git repository in home test...
git命令基礎使用
git init 初始化倉庫 git add 將任何新的或修改的檔案新增到索引 git commit m 備註 提交版本 git status 檢視當前狀態 git log oneline 檢視本地所有提交的版本 git reset hard 所要回到的已提交的版本號 版本回退 git push 位...