Latest web development tutorials

Operaciones básicas de Git

El trabajo de Git es crear y guardar una instantánea de su proyecto y después de instantáneas y comparar. Este capítulo será sobre la creación y la presentación de su proyecto instantáneas introducción de comandos.


Póngase en contacto con un comando para crear un proyecto

git init

Crear un nuevo directorio en el repositorio Git con git init. Puede, hacer cualquier directorio en cualquier momento, completamente localizada.

git init Ejecutivo en el directorio, se puede crear una repositorios Git. Por ejemplo, hemos creado w3big artículos:

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

Ahora se puede ver el subdirectorio .git generada en el proyecto. Esta es su repositorio Git, y se almacenan todos los datos relacionados con una instantánea de su proyecto aquí.

ls -a
.	..	.git

git clone

Usar Git clonar un repositorio Git de una copia local, de modo que puedan ver el elemento, o modificarla.

Si necesita un proyecto de cooperación con los demás, o si desea copiar un proyecto, mirar el código, puede clonar el proyecto. ejecutar:

 git clone [url]

Tema [url] que desea copiarlo.

Por ejemplo, hemos clonado el proyecto en 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.

Después de la clonación se completa en el directorio actual generará un directorio simplegit:

$ Cd simplegit / $ ls README Rakefile lib

La operación copiar todos los archivos del proyecto.

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

Por defecto, Git seguirá el nombre de la URL proporcionada artículos para crear su directorio local del proyecto indicado. La URL es por lo general el último nombre del artículo / después. Si quieres un nombre diferente, puede agregar el nombre que desea después del comando.


instantánea básica

El trabajo de Git es crear y guardar una instantánea de su proyecto y después de instantáneas y comparar. Este capítulo será sobre la creación de una instantánea de su proyecto y presentar la introducción de comandos.

git add

comando git add para agregar el archivo a la memoria caché, a medida que añadimos los dos archivos siguientes:

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

comando git status se utiliza para ver el estado actual del proyecto.

A continuación se ejecuta comando git add para añadir archivos:

$ git add README hello.php 

Ahora se ejecuta git status, se puede ver estos dos documentos se han añadido a seguir.

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

El nuevo proyecto, poner todos los archivos en común, podemos utilizargit add. Comando para añadir todos los archivos en el proyecto actual.

Ahora modificamos el archivo README:

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

"AM" estado significa que el archivo después de que agregarlo a la memoria caché hay cambios. Después de que el cambio se ejecuta git add comando para añadirlo a la memoria caché:

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

Cuando se desea que los cambios que figurarán en el informe de instantánea en el tiempo, necesitamos ejecutar git add.

git status

git status para ver que después de la última confirmación si hay cambios.

Demostré este comando cuando se añade -s parámetro para obtener una breve resultado. Si no se agrega este parámetro se detallará de salida:

$ 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

Ejecutivo estado git git diff para ver los detalles de los resultados de la ejecución.

GIT comando diff y muestra la caché de escritura se ha modificado, pero aún no está escrito en la memoria caché de los cambios de diferencia. git diff Hay dos escenarios principales.

  • cambios fuera de la cache:git diff
  • Ver loscambios en caché:git diff --cached
  • Ver en caché y almacenar en caché todos loscambios: CABEZA git diff
  • Mostrar resúmenes en lugar de todo eldiff: git diff --stat

Introduzca los siguientes datos en el archivo hola.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';
+?>

Indicación del estado de git en su última confirmación para cambiar después de la actualización o escribir línea de cambios de caché por línea y git diff mostrar específicamente qué esos cambios.

A continuación llegamos a ver el siguiente git diff aplicación --cached de los resultados de:

$ 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

Utilice comando git add desea escribir el contenido del búfer de instantánea, y ejecutar git commit agregará contenido al almacén regulador.

Git que envíe cada uno su nombre y dirección de correo electrónico registrada, por lo que el primer paso que debe configurar un nombre de usuario y dirección de correo electrónico.

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

A continuación escribimos el almacenamiento en caché, y sometemos todos los cambios a la hola.php. En el primer ejemplo, se utiliza la opción -m para proporcionar la línea de comandos para enviar comentarios.

$ 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
 

Ahora que hemos registrado instantáneas. Si ejecutamos git status:

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

El resultado anterior muestra que después de la última presentación, no se hizo ningún cambio, es un "directorio de trabajo limpio: directorio de trabajo limpio."

Si no se establece la opción -m, Git trata de abrir un editor para que rellene la información presentada. Git si no puede encontrar la información pertinente en su configuración, el valor predeterminado se abrirá vim. La pantalla tendrá el siguiente aspecto:

# 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

Si cree que git add presentó caché proceso demasiado engorroso, Git también le permite utilizar la opción -a para omitir este paso. formato del comando es la siguiente:

git commit -a

Vamos a modificar el archivo hola.php como los siguientes:

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

A continuación, ejecute el comando siguiente:

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

Reset HEAD git

git reset de comandos principal para remover el contenido almacenado en caché.

Vamos a cambiar el archivo README archivo, de la siguiente manera:

# w3big Git 测试
# 本教程 

hola.php archivo modificado como sigue:

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

Ahora, después de dos archivos modificados son enviadas a la zona de amortiguamiento, ahora queremos que cancelar una de la memoria caché, de la siguiente manera:

$ 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

Ahora se ejecuta git commit archivo README, los cambios sólo serán presentadas, pero no es hola.php.

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

Puede ver el archivo de cambios hello.php y para la presentación.

Entonces podemos usar el siguiente comando para modificar hola.php presentar:

$ 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

En resumen, hacer git reset HEAD para cancelar antes de git add para añadir, pero no quieren incluir en la memoria caché de instantánea en el próximo envío.

git rm

git rm entrada será eliminado de la caché. Este restablecimiento CABEZA git cancelar las entradas de caché son diferentes. "Cancelar Caché", lo que significa que la recuperación va a realizar cambios en nuestra forma de caché anterior.

Pordefecto, el archivo git rm será borrado de los archivos de caché y su disco duro (el directorio de trabajo).

Si desea mantener el archivo en el directorio de trabajo, puede utilizargit rm --cached:

Como eliminamos hola.php archivos:

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

No elimina los archivos desde el espacio de trabajo:

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

git mv

GIT comando mv para hacer todas las cosas quegit rm comando de operación --cached,cambie el nombre del archivo en el disco, y luego ejecutar git add para añadir nuevos archivos a la caché.

README que elimine primero acaba de añadir de nuevo:

$ git add README 

Luego de su mismo nombre:

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