Latest web development tutorials

Git Основные операции

Работа Git является создание и сохранить снимок вашего проекта и после того, как снимки и сравнить. Эта глава будет о создании и отправке команды проекта внедрения моментальных снимков.


Получить в контакт с командой, чтобы создать проект

мерзавец 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 к локальной копии, так что они могут просматривать данный элемент, или изменить его.

Если вам нужен проект сотрудничества с другими, или вы хотите, чтобы скопировать проект, посмотрите на код, вы можете клонировать проект. Run:

 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, как правило, последнее название элемента / после. Если вы хотите другое имя, вы можете добавить имя, которое вы хотите после команды.


Основные Snapshot

Работа Git является создание и сохранить снимок вашего проекта и после того, как снимки и сравнить. Эта глава будет о создании снимок вашего проекта и представить введение команду.

мерзавец добавить

мерзавец добавить команду, чтобы добавить файл в кэш, как мы добавим следующие два файла:

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

Команда мерзавец статус используется для просмотра информации о текущем состоянии проекта.

Далее мы выполняем мерзавца добавить команду для добавления файлов:

$ git add README hello.php 

Теперь мы выполняем статус Git, вы можете видеть, что эти два документа, которые были добавлены, чтобы пойти.

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

Новый проект, добавьте все файлы , в общем, мы можем использоватьGit добавить. Команда , чтобы добавить все файлы в текущем проекте.

Теперь мы изменим файл 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

Когда вы хотите, чтобы ваши изменения, содержащиеся в предстоящем снимке отчета во времени, нам необходимо выполнить ГИТ добавить.

мерзавец статус

мерзавец статус, чтобы увидеть вас после последней фиксации, если есть изменения.

Я продемонстрировал эту команду при добавлении -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 Diff
  • Просмотр кэшированныхизменений: мерзавец дифференциал --cached
  • Просмотр кэшированных и Uncached всеизменения: мерзавец Diff ГОЛОВА
  • Показать резюме , а не весь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 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 @@
+# 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 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 status
# On branch master
nothing to commit (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 также позволяет использовать опцию -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(+)

мерзавец ГОЛОВА сброса

мерзавец команда сброса головы, чтобы удалить кэшированное содержимое.

Давайте изменим файл 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

Теперь вы запускаете мерзавец фиксации, изменения будут представлены только файл 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 сброса голову, чтобы отменить до мерзавца добавить, чтобы добавить, но не хотите, чтобы включить в кэше снимка в следующей фиксации.

мерзавец Р.М.

мерзавец запись гт будут удалены из кэша. Этот мерзавец сброс ГОЛОВА отмена записи кэша различны. "Отменить кэш", что означает, что восстановление будет вносить изменения в наш предыдущий кэш путь.

Поумолчанию файл гт мерзавец будут удалены из кэш - файлов и жесткого диска (рабочий каталог).

Если вы хотите сохранить файл в рабочем каталоге, вы можете использоватьGit гт --cached:

Как удалить файлы hello.php:

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

Не удалять файлы из рабочей области:

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

мерзавец мв

мерзавец мв команду , чтобы сделать все то , чтоГИТ гт --cached команду операции, переименовать файл на диске, а затем выполнить мерзавец добавить , чтобы добавить новые файлы в кэш.

README мы сначала удалить просто добавить обратно:

$ git add README 

Тогда его же имя:

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