Latest web development tutorials

Git Podstawowe operacje

Zadanie Git jest tworzenie i zapisywanie migawkę swojego projektu i po migawek i porównywać. Ten rozdział będzie o tworzeniu i składaniu swoje zdjęcia projektu wprowadzenia polecenia.


Bądź w kontakcie z poleceniem, aby utworzyć projekt

git startowych

Utwórz nowy katalog w repozytorium Git z git init. Można wykonaj dowolny katalog w dowolnym czasie, całkowicie zlokalizowane.

Wykonawczy git startowych w katalogu, można stworzyć repozytorium Git. Na przykład, stworzyliśmy w3big elementy:

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

Teraz widać wygenerowany podkatalogu .git w projekcie. Jest to repozytorium Git, a wszystkie dane związane z migawkę projektu przechowywane są tutaj.

ls -a
.	..	.git

git clone

Użyj git sklonować repozytorium git do lokalnej kopii, tak aby mogli oni zobaczyć element lub go zmodyfikować.

Jeśli potrzebujesz projektu współpracy z innymi, lub chcesz skopiować projekt, spojrzeć na kod, można sklonować projektu. Run:

 git clone [url]

Element [url] chcesz go skopiować.

Na przykład, sklonowany projekt na 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.

Po zakończeniu klonowania w bieżącym katalogu wygeneruje simplegit katalogu:

$ Cd simplegit / $ ls README Rakefile lib

Operacja będzie skopiować wszystkie zapisy projektu.

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

Domyślnie Git pójdą nazwę URL podałeś wskazanej pozycji, aby utworzyć lokalny katalog projektu. Adres URL jest zwykle ostatnia nazwa elementu / po. Jeśli chcesz mieć inną nazwę, można dodać nazwę chcesz po komendzie.


Podstawowe Snapshot

Zadanie Git jest tworzenie i zapisywanie migawkę swojego projektu i po migawek i porównywać. Ten rozdział będzie o tworzeniu migawkę projektu i przedstawia wprowadzanie poleceń.

git add

git dodać polecenie, aby dodać plik do pamięci podręcznej, jak dodać następujące dwa pliki:

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

Polecenie git status służy do wyświetlania aktualnego stanu projektu.

Następnie wykonać git dodać polecenie, aby dodać pliki:

$ git add README hello.php 

Teraz wykonujemy stan git, można zobaczyć te dwa dokumenty, które zostały dodane do zrobienia.

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

Nowy projekt, dodać wszystkie pliki wspólnego, możemy użyćgit add. Polecenie, aby dodać wszystkie pliki w bieżącym projekcie.

Teraz musimy zmodyfikować plik README:

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

Status "AM" oznacza, że ​​plik po dodamy go do pamięci podręcznej są zmiany. Po zmianie wykonujemy git dodać polecenie, aby dodać go do pamięci podręcznej:

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

Gdy chcesz zmian zawartych w raporcie nadchodzącym migawki w czasie, musimy wykonać git add.

git status

git status cię widzieć po ostatnim popełnić w przypadku zmian.

I wykazano tego polecenia po dodaniu -s parametru, aby uzyskać krótkie wynik. Jeśli nie dodawać tego parametru zostanie szczegółowo dane wyjściowe:

$ 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

Stan wykonawczy git diff git aby zobaczyć szczegóły o wynikach realizacji.

git polecenie diff i wyświetla bufor zapisu został zmodyfikowany, ale nie są jeszcze zapisane w pamięci podręcznej zmian różnicy. git diff Istnieją dwa główne scenariusze.

  • Niezbuforowanychzmiany: git diff
  • Zobacz buforowanezmiany: git diff --cached
  • Zobacz buforowane i niebuforowanych wszystkiezmiany: git różn HEAD
  • Pokaż streszczenia zamiast całegoDiff: git diff --stat

Wprowadź następujące hello.php pliku:

<?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 wyświetlacz stanu na twój ostatni zobowiązują się zmienić po aktualizacji lub napisać wiersz po wierszu zmienia cache i git diff pokaż co konkretnie te zmiany.

Następnie przychodzą, aby zobaczyć następny git diff --cached wdrożenia wyników:

$ 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

Użyj git dodać polecenie, które chcesz zapisać zawartość bufora migawki i wykonać git commit doda zawartość do magazynu buforowego.

Git złożyć każdy nagrany swoje nazwisko i adres e-mail, więc pierwszy krok trzeba skonfigurować nazwę użytkownika i adres e-mail.

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

Następny piszemy buforowanie i przedstawia wszystkie zmiany do hello.php. W pierwszym przykładzie użyjemy opcji -m, aby zapewnić wiersza polecenia do przedstawienia uwag.

$ 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
 

Teraz, gdy mamy nagrane migawki. Jeśli wykonujemy stan git:

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

Powyższy wyjście pokazuje, że po ostatnim zdaniem, nie wprowadzać żadnych zmian, to "katalog roboczy czyste. Czyste katalog roboczy"

Jeśli nie ustawić opcję -m, Git próbuje otworzyć edytor, aby wypełnić przekazywanych informacji. Git, jeśli nie można znaleźć odpowiednie informacje w jego konfiguracji, domyślnie otworzy vim. Ekran będzie wyglądał następująco:

# 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

Jeśli uważasz, że git add składać Proces cache zbyt uciążliwe, Git pozwala również korzystać z opcji -a pominąć ten krok. Format polecenia jest następująca:

git commit -a

Załóżmy modyfikacji pliku hello.php jak:

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

Następnie wykonaj następujące polecenie:

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

git resetowania HEAD

git zresetować polecenie głowę, aby usunąć zawartość pamięci podręcznej.

Zmieńmy plik Readme, co następuje:

# w3big Git 测试
# 本教程 

Plik hello.php wprowadza się następujące zmiany:

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

Teraz po dwóch zmodyfikowane pliki są przekazywane do strefy buforowej, teraz chcemy, aby anulować jedną z pamięci podręcznej, co następuje:

$ 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

Teraz można uruchomić git commit, zmiany zostaną przedłożone tylko plik README, ale hello.php nie jest.

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

Możesz zobaczyć plik zmian hello.php i składania.

Wtedy możemy użyć następującego polecenia, aby zmodyfikować hello.php złożyć:

$ 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

Krótko mówiąc, czy git resetowania głowę, aby anulować przed git add dodać, ale nie chce, aby umieścić w pamięci podręcznej migawki w następnym commit.

git rm

git rm wpis zostanie usunięty z pamięci podręcznej. To git resetowania HEAD anulować wpisy cache są różne. "Anuluj Cache", co oznacza, że ​​ożywienie będzie dokonać zmian w naszym poprzednim way pamięci podręcznej.

Domyślnie git rm plik zostanie usunięty z pamięci podręcznej i plików na dysku twardym (katalog roboczy).

Jeśli chcesz zachować plik w katalogu roboczym, można użyćgit rm --cached:

Jak usunąć hello.php pliki:

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

Nie usuwa plików z obszaru roboczego:

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

git mv

git polecenia mv zrobić wszystkie rzeczy, któregit rm polecenie --cachedpracy, zmień nazwę pliku na dysku, a następnie wykonać git dodać do dodawania nowych plików do pamięci podręcznej.

README najpierw usuń wystarczy dodać powrotem:

$ git add README 

Potem jej sama nazwa:

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