今天,從兩個方面來講一講Git的倉管。建立倉庫以及追蹤倉庫里文件的變化。
取得Git倉庫
取得git倉庫有兩種方法:
將本機未初始化的目錄作為倉庫目錄
從遠端主機複製一個已存在的Git專案
下面來示範這兩種方法:
# mkdir learngit # cd learngit/ # git init Initialized empty Git repository in /root/learngit/.git
這樣,一個本地的倉庫就建立完了。接下來看如何從遠端克隆倉庫。
# mkdir learngit2 # cd learngit2 # git clone git@github.com:*****/blog.git learngit2
此指令表示從遠端複製Git倉庫,並將目錄修改為learngit2。預設沒有該參數的話,目錄名即為blog。
追蹤倉庫的每一次更新
首先需要講述下檔案的狀態,從大的方面來說,檔案的狀態有兩種:
未追蹤(Untracked)
#已追蹤
未修改、已修改、已暫存。未追蹤的文件表示版本庫沒有追蹤該文件。
下面,我們來示範這幾種檔案的狀態。 首先,在專案目錄下新建立一個檔案# touch README.md
# git status README.md # On branch master # # Initial commit # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # README.md nothing added to commit but untracked files present (use "git add" to track)
# cat > index.php <<eof > <?php > phpinfo(); > eof # git add index.php # git status index.php # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: index.php #
# git status index.php # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: index.php # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: index.php #
git add
該指令的作用有,追蹤新的檔案、將修改過的檔案提交到暫存區、將合併時候出現衝突的檔案標記為已解決的狀態。檢視修改
如何向檢視工作區和暫存區檔案的修改。直接使用git diff即可。# git diff 1.txt diff --git a/1.txt b/1.txt index 3b18e51..a042389 100644 --- a/1.txt +++ b/1.txt @@ -1 +1 @@ -hello world +hello world!
# git diff --staged 1.txt diff --git a/1.txt b/1.txt new file mode 100644 index 0000000..3b18e51 --- /dev/null +++ b/1.txt @@ -0,0 +1 @@ +hello world
#提交更新
我們使用git commit 提交更新,讓暫存區的內容提交到倉庫。 一般的,我們喜歡用-m選項,將本次提交的更新資訊寫在一起。如下:# git commit -m 'first commit.add a txt file'
如果你更新的內容較多的話,一兩句話說不完,那麼建議使用該方法。
以上是版本控制工具Git-倉庫管理.md的詳細內容。更多資訊請關注PHP中文網其他相關文章!