首頁 > 開發工具 > Git > 主體

版本控制工具Git-倉庫管理.md

齐天大圣
發布: 2020-06-17 09:28:11
原創
2685 人瀏覽過

今天,從兩個方面來講一講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)

  • #已追蹤

##已追蹤的狀態又分為

未修改、已修改、已暫存。未追蹤的文件表示版本庫沒有追蹤該文件。

版本控制工具Git-倉庫管理.md

下面,我們來示範這幾種檔案的狀態。

首先,在專案目錄下新建立一個檔案

# touch README.md
登入後複製

然後,我們來查看該檔案的狀態。 git status 可以列出檔案的狀態,如果不加檔案則表示列出所有的。

# 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)
登入後複製

可以看到,README.md狀態是untracked。現在,我們再建立一個文件,並將新增到暫存區,然後看看該文件的狀態。

# 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
#
登入後複製

只要出現在Changes to be committed下面的檔案即表示該檔案是已暫存狀態。然後,將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
#
登入後複製

看到沒有,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!
登入後複製

那麼如何查看暫存區和倉庫的修改的。這時候需要加上--staged選項。

# 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 diff [檔案名稱]

  • 查看暫存區和倉庫檔案的修改,使用git diff --staged [檔案名稱]

#提交更新

我們使用git commit 提交更新,讓暫存區的內容提交到倉庫。

一般的,我們喜歡用-m選項,將本次提交的更新資訊寫在一起。如下:

# git commit -m &#39;first commit.add a txt file&#39;
登入後複製
如果你不加入-m選項的話,會跳出一個編輯器,讓你在編輯器裡提交更新的資訊。

如果你更新的內容較多的話,一兩句話說不完,那麼建議使用該方法。

以上是版本控制工具Git-倉庫管理.md的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
git
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板