黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Git教程
Git標簽管理
Git分支
Git操作
Git應用
GitHub應用
IDEA對于Git&GitHub的支持
Git與GitHub使用注意事項

Git基本操作

Git 的工作就是創建和保存你項目的快照及與之后的快照進行對比。本章將對有關創建與提交你的項目快照的命令作介紹。

一、獲取與創建項目命令

⒈ git init

用 git init 在目錄中創建新的 Git 倉庫。 你可以在任何時候、任何目錄中這么做,完全是本地化的。

在目錄中執行 git init,就可以創建一個 Git 倉庫了。比如我們創建bjpowernode項目:

$ mkdir bjpowernode
$ cd bjpowernode/
$ git init
Initialized empty Git repository in /Users/tianqixin/www/bjpowernode/.git/
# 在 /www/bjpowernode/.git/ 目錄初始化空 Git 倉庫完畢。

現在你可以看到在你的項目中生成了 .git 這個子目錄。 這就是你的 Git 倉庫了,所有有關你的此項目的快照數據都存放在這里。

ls -a
.    ..    .git

⒉ git clone

使用 git clone 拷貝一個 Git 倉庫到本地,讓自己能夠查看該項目,或者進行修改。

如果你需要與他人合作一個項目,或者想要復制一個項目,看看代碼,你就可以克隆那個項目。 執行命令:

 git clone [url]

[url] 為你想要復制的項目,就可以了。

例如我們克隆 Github 上的項目:

$ git clone git@github.com:schacon/simplegit.git
Cloning into 'simplegit'...
remote: Counting objects: 13, done.
remote: Total 13 (delta 0), reused 0 (delta 0), pack-reused 13
Receiving objects: 100% (13/13), done.
Resolving deltas: 100% (2/2), done.
Checking connectivity... done.

克隆完成后,在當前目錄下會生成一個 simplegit 目錄:

$ cd simplegit/
$ ls
README   Rakefile lib

上述操作將復制該項目的全部記錄。

$ ls -a
.        ..       .git     README   Rakefile lib
$ cd .git
$ ls
HEAD        description info        packed-refs
branches    hooks       logs        refs
config      index       objects

默認情況下,Git 會按照你提供的 URL 所指示的項目的名稱創建你的本地項目目錄。 通常就是該 URL 最后一個 / 之后的項目名稱。如果你想要一個不一樣的名字, 你可以在該命令后加上你想要的名稱。

二、基本快照

Git 的工作就是創建和保存你的項目的快照及與之后的快照進行對比。本章將對有關創建與提交你的項目的快照的命令作介紹。

⒈ git add

git add 命令可將該文件添加到緩存,如我們添加以下兩個文件:

$ touch README
$ touch hello.php
$ ls
README        hello.php
$ git status -s
?? README
?? hello.php
$ 

git status 命令用于查看項目的當前狀態。

接下來我們執行 git add 命令來添加文件:

$ git add README hello.php 

現在我們再執行 git status,就可以看到這兩個文件已經加上去了。

$ git status -s
A  README
A  hello.php
$ 

新項目中,添加所有文件很普遍,我們可以使用 git add . 命令來添加當前項目的所有文件。

現在我們修改 README 文件:

$ vim README

在 README 添加以下內容:# bjpowernode Git 測試,然后保存退出。

再執行一下 git status:

$ git status -s
AM README
A  hello.php

"AM" 狀態的意思是,這個文件在我們將它添加到緩存之后又有改動。改動后我們再執行 git add 命令將其添加到緩存中:

$ git add .
$ git status -s
A  README
A  hello.php

當你要將你的修改包含在即將提交的快照里的時候,需要執行 git add。

⒉ git status

git status 以查看在你上次提交之后是否有修改。

我演示該命令的時候加了 -s 參數,以獲得簡短的結果輸出。如果沒加該參數會詳細輸出內容:

$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   README
    new file:   hello.php

⒊ git diff

執行 git diff 來查看執行 git status 的結果的詳細信息。

git diff 命令顯示已寫入緩存與已修改但尚未寫入緩存的改動的區別。git diff 有兩個主要的應用場景。

① 尚未緩存的改動:git diff

② 查看已緩存的改動: git diff --cached

③ 查看已緩存的與未緩存的所有改動:git diff HEAD

④ 顯示摘要而非整個 diff:git diff --stat

在 hello.php 文件中輸入以下內容:

<?php
echo '動力節點:www.ilovecolors.com.cn';
?>

$ git status -s
A  README
AM hello.php
$ git diff
diff --git a/hello.php b/hello.php
index e69de29..69b5711 100644
--- a/hello.php
+++ b/hello.php
@@ -0,0 +1,3 @@
+<?php
+echo '動力節點:www.ilovecolors.com.cn';
+?>

git status 顯示你上次提交更新后的更改或者寫入緩存的改動, 而 git diff 一行一行地顯示這些改動具體是啥。

接下來我們來查看下 git diff --cached 的執行效果:

$ git add hello.php 
$ git status -s
A  README
A  hello.php
$ git diff --cached
diff --git a/README b/README
new file mode 100644
index 0000000..8f87495
--- /dev/null
+++ b/README
@@ -0,0 +1 @@
+# bjpowernode Git 測試
diff --git a/hello.php b/hello.php
new file mode 100644
index 0000000..69b5711
--- /dev/null
+++ b/hello.php
@@ -0,0 +1,3 @@
+<?php
+echo '動力節點:www.ilovecolors.com.cn';
+?>

⒋ git commit

使用 git add 命令將想要快照的內容寫入緩存區, 而執行 git commit 將緩存區內容添加到倉庫中。

Git 為你的每一個提交都記錄你的名字與電子郵箱地址,所以第一步需要配置用戶名和郵箱地址。

$ git config --global user.name 'bjpowernode'
$ git config --global user.email test@bjpowernode.com

接下來我們寫入緩存,并提交對 hello.php 的所有改動。在首個例子中,我們使用 -m 選項以在命令行中提供提交注釋。

$ git add hello.php
$ git status -s
A  README
A  hello.php
$ git commit -m '第一次版本提交'
[master (root-commit) d32cf1f] 第一次版本提交
 2 files changed, 4 insertions(+)
 create mode 100644 README
 create mode 100644 hello.php

現在我們已經記錄了快照。如果我們再執行 git status:

$ git status
# On branch master
nothing to commit (working directory clean)

以上輸出說明我們在最近一次提交之后,沒有做任何改動,是一個"working directory clean:干凈的工作目錄"。

如果你沒有設置 -m 選項,Git 會嘗試為你打開一個編輯器以填寫提交信息。 如果 Git 在你對它的配置中找不到相關信息,默認會打開 vim。屏幕會像這樣:

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
# modified:   hello.php
#
~
~
".git/COMMIT_EDITMSG" 9L, 257C

如果你覺得 git add 提交緩存的流程太過繁瑣,Git 也允許你用 -a 選項跳過這一步。命令格式如下:

git commit -a

我們先修改 hello.php 文件為以下內容:

<?php
echo '動力節點:www.ilovecolors.com.cn';
echo '動力節點:www.ilovecolors.com.cn';
?>

再執行以下命令:

git commit -am '修改 hello.php 文件'
[master 71ee2cb] 修改 hello.php 文件
 1 file changed, 1 insertion(+)

⒌ git reset HEAD

git reset HEAD 命令用于取消已緩存的內容。

我們先改動文件 README 文件,內容如下:

# bjpowernode Git 測試
# 動力節點 

hello.php 文件修改為:

<?php
echo '動力節點:www.ilovecolors.com.cn';
echo '動力節點:www.ilovecolors.com.cn';
echo '動力節點:www.ilovecolors.com.cn';
?>

現在兩個文件修改后,都提交到了緩存區,我們現在要取消其中一個的緩存,操作如下:

$ git status -s
 M README
 M hello.php
$ git add .
$ git status -s
M  README
M  hello.php
$ git reset HEAD hello.php 
Unstaged changes after reset:
M    hello.php
$ git status -s
M  README
 M hello.php

現在你執行 git commit,只會將 README 文件的改動提交,而 hello.php 是沒有的。

$ git commit -m '修改'
[master f50cfda] 修改
 1 file changed, 1 insertion(+)
$ git status -s
 M hello.php

可以看到 hello.php 文件的修改并未提交。

這時我們可以使用以下命令將 hello.php 的修改提交:

$ git commit -am '修改 hello.php 文件'
[master 760f74d] 修改 hello.php 文件
 1 file changed, 1 insertion(+)
$ git status
On branch master
nothing to commit, working directory clean

簡而言之,執行 git reset HEAD 以取消之前 git add 添加,但不希望包含在下一提交快照中的緩存。

⒍ git rm

如果只是簡單地從工作目錄中手工刪除文件,運行 git status 時就會在 Changes not staged for commit 的提示。

要從 Git 中移除某個文件,就必須要從已跟蹤文件清單中移除,然后提交。可以用以下命令完成此項工作

git rm <file>

如果刪除之前修改過并且已經放到暫存區域的話,則必須要用強制刪除選項 -f

git rm -f <file>

如果把文件從暫存區域移除,但仍然希望保留在當前工作目錄中,換句話說,僅是從跟蹤清單中刪除,使用 --cached 選項即可

git rm --cached <file>

如我們刪除 hello.php文件:

$ git rm hello.php 
rm 'hello.php'
$ ls
README

不從工作區中刪除文件:

$ git rm --cached README 
rm 'README'
$ ls
README

可以遞歸刪除,即如果后面跟的是一個目錄做為參數,則會遞歸刪除整個目錄中的所有子目錄和文件:

git rm –r * 

進入某個目錄中,執行此語句,會刪除該目錄下的所有文件和子目錄。

⒎ git mv

git mv 命令用于移動或重命名一個文件、目錄、軟連接。

我們先把剛移除的 README 添加回來:

$ git add README 

然后對其重名:

$ git mv README  README.md
$ ls
README.md

 

全部教程
主站蜘蛛池模板: 亚洲国产最新在线一区二区 | 日本一区欧美 | 中文字幕日韩有码 | 国产免费网 | 欧美成人aⅴ | 欧美激情一区二区三区在线 | 欧美亚洲综合网 | 亚洲人成绝费网站色ww | 日韩激情小视频 | 禁止十八成人无限免费观看网站 | 中文字幕国产日韩 | 日韩精品亚洲精品485页 | 免费人成网站免费看视频 | 毛片免费观看网址 | 成人在色线视频在线观看免费大全 | 成人观看视频又黄又免费 | 午夜 福利 视频 | 日本欧美在线视频 | 极品色天使在线婷婷天堂亚洲 | 欧美日韩精品免费一区二区三区 | 97精品国产91久久久久久 | 色黄污在线看黄污免费看黄污 | 二个人的视频www | 黄色一级免费大片 | 1区1区3区4区产品亚洲 | 亚洲另类z0zx | 成人在线观看不卡 | 婷婷成人综合 | 免费国产成人高清无线看软件 | 射综合网| a级精品九九九大片免费看 a级精品国产片在线观看 | 黄色片视频网 | 日韩在线观看视频免费 | 韩国三级日本三级在线观看 | 日本特级淫片 | 亚洲欧美精品中文字幕 | 特黄特黄视频 | 日韩美女影院 | 成人免费福利片在线观看 | 在线国产不卡 | 色草在线 |