Latest web development tutorials

Git Operasi Dasar

Pekerjaan Git adalah untuk membuat dan menyimpan snapshot dari proyek Anda dan setelah snapshot dan membandingkan. Bab ini akan tentang membuat dan mengirimkan pengenalan perintah snapshot proyek Anda.


Dapatkan berhubungan dengan perintah untuk membuat sebuah proyek

git init

Membuat direktori baru di repositori Git dengan git init. Anda dapat, melakukan direktori setiap saat, benar-benar lokal.

Executive git init dalam direktori, Anda dapat membuat Git repositori. Sebagai contoh, kita buat item w3big:

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

Sekarang Anda dapat melihat subdirektori git yang dihasilkan dalam proyek Anda. Ini adalah repositori Git Anda, dan semua data yang terkait dengan snapshot dari proyek Anda disimpan di sini.

ls -a
.	..	.git

clone git

Gunakan git clone repositori Git untuk salinan lokal, sehingga mereka dapat melihat item, atau memodifikasinya.

Jika Anda membutuhkan sebuah proyek kerjasama dengan orang lain, atau Anda ingin menyalin sebuah proyek, melihat kode, Anda dapat mengkloning proyek. Jalankan:

 git clone [url]

Item [url] Anda ingin menyalinnya.

Sebagai contoh, kita kloning proyek pada 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.

Setelah kloning selesai di direktori saat ini akan menghasilkan simplegit direktori:

$ Cd simplegit / $ ls README Rakefile lib

operasi akan menyalin semua catatan proyek.

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

Secara default, Git akan mengikuti nama URL yang tersedia item untuk membuat direktori proyek lokal Anda ditunjukkan. URL biasanya nama item terakhir / setelah. Jika Anda ingin nama yang berbeda, Anda dapat menambahkan nama yang Anda inginkan setelah perintah.


Snapshot dasar

Pekerjaan Git adalah untuk membuat dan menyimpan snapshot dari proyek Anda dan setelah snapshot dan membandingkan. Bab ini akan tentang menciptakan sebuah snapshot dari proyek Anda dan mengirimkan pengenalan perintah.

git add

git add perintah untuk menambahkan file ke cache, seperti yang kita tambahkan dua file berikut:

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

Perintah git status digunakan untuk melihat status proyek.

Selanjutnya kita jalankan git add perintah untuk menambahkan file:

$ git add README hello.php 

Sekarang kita jalankan git status, Anda dapat melihat dua dokumen tersebut telah ditambahkan untuk pergi.

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

Proyek baru, menambahkan semua file yang sama, kita dapat menggunakangit add. Perintah untuk menambahkan semua file dalam proyek saat ini.

Sekarang kita memodifikasi file README:

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

"AM" status berarti bahwa file tersebut setelah kami menambahkannya ke cache ada perubahan. Setelah perubahan kita menjalankan git add perintah untuk menambahkannya ke cache:

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

Bila Anda ingin perubahan yang terkandung dalam snapshot laporan yang akan datang dalam waktu, kita harus menjalankan git add.

git status

git status untuk melihat Anda setelah komit terakhir jika ada perubahan.

Saya menunjukkan perintah ini ketika ditambahkan -s parameter untuk mendapatkan hasil yang singkat. Jika Anda tidak menambahkan parameter ini akan keluaran rinci:

$ 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

diff git

Status git diff git eksekutif untuk melihat rincian hasil eksekusi.

git perintah diff dan menampilkan cache write telah dimodifikasi tapi belum ditulis ke cache perubahan perbedaan. git diff Ada dua skenario utama.

  • Perubahan tidak cache:diff git
  • Lihatperubahan cache: git diff --cached
  • Lihat cache dan uncached semuaperubahan: git diff KEPALA
  • Tampilkan ringkasan daripada seluruhdiff: git diff --stat

Masukkan berikut dalam file 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';
+?>

menampilkan status git pada terakhir Anda berkomitmen untuk berubah setelah update atau menulis garis perubahan cache dengan garis dan git diff menunjukkan secara spesifik apa perubahan tersebut.

Selanjutnya kita datang untuk melihat git berikutnya diff pelaksanaan --cached hasil:

$ 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 commit

Gunakan git menambahkan perintah Anda ingin menulis isi dari buffer snapshot, dan mengeksekusi git commit akan menambahkan konten ke gudang penyangga.

Git Anda mengirimkan masing-masing nama dan alamat e-mail yang tercatat, sehingga langkah pertama Anda perlu mengkonfigurasi nama pengguna dan alamat e-mail.

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

Berikutnya kita menulis caching, dan menyerahkan semua perubahan hello.php tersebut. Dalam contoh pertama, kita menggunakan opsi -m untuk memberikan baris perintah untuk mengirimkan komentar.

$ 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
 

Sekarang kita telah mencatat snapshot. Jika kita jalankan git status:

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

Output di atas menunjukkan bahwa kita setelah pengajuan terakhir, tidak membuat perubahan apapun, adalah "direktori kerja bersih:. Direktori kerja bersih"

Jika Anda tidak menetapkan opsi -m, Git mencoba untuk membuka editor bagi Anda untuk mengisi informasi yang disampaikan. Git jika Anda tidak dapat menemukan informasi yang relevan dalam konfigurasi, default akan membuka vim. Layar akan terlihat seperti ini:

# 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

Jika Anda berpikir git add disampaikan proses cache yang terlalu rumit, Git juga memungkinkan Anda untuk menggunakan opsi -a untuk melewatkan langkah ini. format perintah adalah sebagai berikut:

git commit -a

Mari kita memodifikasi file hello.php sebagai berikut:

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

Kemudian jalankan perintah berikut:

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

git reset KEPALA

git reset perintah HEAD untuk menghapus konten cache.

Mari kita mengubah file berkas README, sebagai berikut:

# w3big Git 测试
# 本教程 

File hello.php diubah sebagai berikut:

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

Sekarang setelah dua file diubah disampaikan ke zona penyangga, kita sekarang ingin membatalkan salah satu dari cache, sebagai berikut:

$ 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

Sekarang Anda menjalankan git commit, perubahan hanya akan diserahkan berkas README, tapi hello.php tidak.

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

Anda dapat melihat file perubahan hello.php dan untuk pengajuan.

Maka kita dapat menggunakan perintah berikut untuk memodifikasi hello.php menyerahkan:

$ 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

Singkatnya, melakukan git reset HEAD untuk membatalkan sebelum git add untuk menambahkan, tetapi tidak ingin untuk memasukkan dalam cache snapshot di commit selanjutnya.

git rm

entri rm git akan dihapus dari cache. ulang KEPALA git ini membatalkan entri cache yang berbeda. "Batal Cache", yang berarti bahwa pemulihan akan membuat perubahan ke cache cara kami sebelumnya.

Secaradefault, git file rm akan dihapus dari file cache dan hard drive Anda (direktori kerja).

Jika Anda ingin menyimpan file dalam direktori kerja, Anda dapat menggunakangit rm --cached:

Seperti kita menghapus hello.php file:

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

Tidak menghapus file dari ruang kerja:

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

git mv

git perintah mv untuk melakukan semua hal yanggit rm perintah operasi --cached,mengubah nama file pada disk, dan kemudian jalankan git add untuk menambahkan file baru ke cache.

README pertama kita hapus hanya menambahkan kembali:

$ git add README 

Kemudian nama yang sama yaitu:

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