Latest web development tutorials

Git การใช้งานเบื้องต้น

งาน Git คือการสร้างและบันทึกภาพรวมของโครงการและหลังจากภาพรวมและเปรียบเทียบ บทนี้จะเกี่ยวกับการสร้างและส่งโครงการแนะนำภาพรวมคำสั่งของคุณ


ได้รับในการติดต่อกับคำสั่งเพื่อสร้างโครงการที่

init Git

สร้างไดเรกทอรีใหม่ในที่เก็บ Git กับ Git init คุณสามารถทำไดเรกทอรีใด ๆ ได้ตลอดเวลาที่มีการแปลอย่างสมบูรณ์

init Git บริหารในไดเรกทอรีที่คุณสามารถสร้างเก็บ Git ตัวอย่างเช่นเราสร้างรายการ w3big:

$ mkdir w3big
$ cd w3big/
$ git init
Initialized empty Git repository in /Users/tianqixin/www/w3big/.git/
# 在 /www/w3big/.git/ 目录初始化空 Git 仓库完毕。

ตอนนี้คุณสามารถดูไดเรกทอรีย่อย .git สร้างในโครงการของคุณ นี่คือพื้นที่เก็บข้อมูล Git ของคุณและข้อมูลทั้งหมดที่เกี่ยวข้องกับภาพรวมของโครงการของคุณจะถูกเก็บไว้ที่นี่

ls -a
.	..	.git

โคลน Git

ใช้ Git โคลนที่เก็บ Git เพื่อสำเนาเพื่อให้พวกเขาสามารถดูรายการหรือปรับเปลี่ยน

หากคุณจำเป็นต้องมีโครงการความร่วมมือกับคนอื่น ๆ หรือคุณต้องการคัดลอกโครงการ, ดูรหัสที่คุณสามารถโคลนโครงการ เรียกใช้:

 git clone [url]

รายการ [url] คุณต้องการคัดลอก

ตัวอย่างเช่นเราโคลนโครงการใน Github:

$ git clone [email protected]: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 เพิ่ม

Git เพิ่มคำสั่งเพื่อเพิ่มไฟล์ไปยังแคชที่เราเพิ่มต่อไปนี้สองไฟล์:

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

คำสั่ง status Git จะใช้ในการดูสถานะปัจจุบันของโครงการ

ต่อไปเราจะดำเนินการเพิ่มคำสั่ง Git เพื่อเพิ่มไฟล์:

$ git add README hello.php 

ตอนนี้เราดำเนินการสถานะ Git คุณสามารถมองเห็นทั้งสองเอกสารได้รับการเพิ่มที่จะไป

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

โครงการใหม่เพิ่มไฟล์ทั้งหมดในการร่วมกันเราสามารถใช้Git add. คำสั่งที่จะเพิ่มไฟล์ทั้งหมดในโครงการปัจจุบัน

ตอนนี้เราปรับเปลี่ยนแฟ้ม Readme:

$ vim README
<pre>
<p>在 README 添加以下内容:<b># w3big Git 测试</b>,然后保存退出。</p>
<p>再执行一下 git status:</p>
$ git status -s
AM README
A  hello.php

"AM" หมายความว่าไฟล์หลังจากที่เราเพิ่มไปยังแคชมีการเปลี่ยนแปลง หลังจากการเปลี่ยนแปลงที่เราดำเนินการคอมไพล์เพิ่มคำสั่งที่จะเพิ่มไปยังแคช:

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

เมื่อคุณต้องการการเปลี่ยนแปลงของคุณที่มีอยู่ในภาพรวมรายงานเตรียมพร้อมในเวลาที่เราต้องดำเนินการคอมไพล์เพิ่ม

สถานะ Git

สถานะ Git ที่จะเห็นคุณหลังจากที่ครั้งสุดท้ายหากมีการเปลี่ยนแปลง

ผมแสดงให้เห็นถึงคำสั่งนี้เมื่อเติม -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

สถานะ Git Git diff บริหารเพื่อดูรายละเอียดของผลการดำเนินการที่

คอมไพล์คำสั่งต่างและแสดงแคชเขียนได้รับการแก้ไข แต่ยังไม่ได้เขียนไปยังแคชของการเปลี่ยนแปลงที่แตกต่าง Git Diff มีสองสถานการณ์หลัก

  • การเปลี่ยนแปลงไม่ได้เก็บไว้: diff Git
  • ดูการเปลี่ยนแปลงที่เก็บไว้: Git diff --cached
  • ดูแคชและ uncachedการเปลี่ยนแปลงทั้งหมด: Git diff HEAD
  • แสดงสรุปมากกว่าdiff ทั้งหมด: Git diff --stat

ใส่ต่อไปในแฟ้ม hello.php นี้:

<?php
echo '本教程:www.w3big.com';
?>
$ 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.w3big.com';
+?>

แสดงสถานะ Git ในครั้งสุดท้ายของคุณมุ่งมั่นที่จะเปลี่ยนแปลงหลังจากการปรับปรุงหรือเขียนเส้นเปลี่ยนแปลงแคชโดยสายและ Git diff แสดงเฉพาะสิ่งที่เปลี่ยนแปลงเหล่านั้น

ต่อไปเรามาดู Git ต่อไปดำเนินการต่าง --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 @@
+# w3big 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.w3big.com';
+?>

Git กระทำ

ใช้ Git เพิ่มคำสั่งที่คุณต้องการเขียนเนื้อหาของบัฟเฟอร์ภาพรวมและดำเนินการ Git กระทำจะเพิ่มเนื้อหาไปยังคลังสินค้าบัฟเฟอร์

คอมไพล์ที่คุณส่งแต่ละบันทึกชื่อและที่อยู่อีเมลของคุณเพื่อให้ขั้นตอนแรกคุณต้องกำหนดชื่อผู้ใช้และ E-mail Address

$ git config --global user.name 'w3big'
$ git config --global user.email [email protected]

ต่อไปเราเขียนแคชและส่งการเปลี่ยนแปลงทั้งหมด 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:

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

การส่งออกดังกล่าวข้างต้นแสดงให้เห็นว่าเราหลังจากส่งที่ผ่านมาไม่ได้ทำการเปลี่ยนแปลงใด ๆ คือ "ไดเรกทอรีการทำงานสะอาด. ไดเรกทอรีที่ทำงานสะอาด"

หากคุณไม่ได้ตั้งค่าตัวเลือก -m, Git พยายามที่จะเปิดเป็นบรรณาธิการให้คุณกรอกข้อมูลที่ส่ง Git ถ้าคุณไม่สามารถหาข้อมูลที่เกี่ยวข้องในการกำหนดค่าเริ่มต้นจะเปิดเป็นกลุ่ม หน้าจอจะมีลักษณะเช่นนี้

# 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 เพิ่มกระบวนการแคชส่งยุ่งยากเกินไป Git ยังช่วยให้คุณใช้ตัวเลือก -a ข้ามขั้นตอนนี้ รูปแบบคำสั่งดังต่อไปนี้:

git commit -a

ลองปรับเปลี่ยนแฟ้ม hello.php ดังต่อไปนี้:

<?php
echo '本教程:www.w3big.com';
echo '本教程:www.w3big.com';
?>

แล้วรันคำสั่งต่อไปนี้:

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

HEAD รีเซ็ต Git

Git ตั้งค่าคำสั่งหัวเพื่อลบเนื้อหาที่เก็บไว้

ลองเปลี่ยนไฟล์ README ไฟล์ดังต่อไปนี้:

# w3big Git 测试
# 本教程 

ไฟล์ hello.php แก้ไขเพิ่มเติมดังต่อไปนี้:

<?php
echo '本教程:www.w3big.com';
echo '本教程:www.w3big.com';
echo '本教程:www.w3big.com';
?>

ตอนนี้หลังจากที่สองการแก้ไขไฟล์ถูกส่งไปยังพื้นที่กันชนตอนนี้เราต้องการที่จะยกเลิกการอย่างใดอย่างหนึ่งของแคชดังนี้

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

ตอนนี้คุณทำงาน Git กระทำไฟล์ 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 HEAD รีเซ็ตยกเลิกก่อน Git เพิ่มเพื่อเพิ่ม แต่ไม่ต้องการที่จะรวมไว้ในแคชภาพรวมในครั้งต่อไปกระทำ

RM Git

รายการ Git RM จะถูกลบออกจากแคช Git รีเซ็ต Head แห่งนี้ยกเลิกรายการแคชจะแตกต่างกัน "ยกเลิกแคช" ซึ่งหมายความว่าการกู้คืนจะทำให้เกิดการเปลี่ยนแปลงไปยังแคชวิธีการของเราก่อนหน้านี้

แฟ้ม RM Git จะถูกลบออกจากไฟล์แคชและฮาร์ดไดรฟ์ของคุณ (ไดเรกทอรีการทำงาน)

หากคุณต้องการที่จะเก็บไฟล์ในไดเรกทอรีการทำงานคุณสามารถใช้RM Git --cached:

ในฐานะที่เราลบไฟล์ hello.php:

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

จะไม่ลบไฟล์จากพื้นที่ทำงาน:

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

Git MV

คอมไพล์คำสั่ง MV ที่จะทำทุกสิ่งที่git rm คำสั่งการดำเนิน --cachedเปลี่ยนชื่อไฟล์บนดิสก์และจากนั้นดำเนินการคอมไพล์เพิ่มเพื่อเพิ่มไฟล์ใหม่ไปยังแคช

README ครั้งแรกที่เราเอาเพียงแค่เพิ่มกลับ:

$ git add README 

จากนั้นชื่อเดียวกันของ:

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