Latest web development tutorials

Git Operações básicas

O trabalho do Git é criar e salvar um instantâneo do seu projeto e depois de instantâneos e comparar. Este capítulo será sobre como criar e enviar sua introdução comando instantâneos do projeto.


Entre em contato com um comando para criar um projeto

o init git

Crie um novo diretório no repositório Git com o init git. Você pode, fazer qualquer diretório a qualquer momento, completamente localizada.

o init git Executivo no diretório, você pode criar um Git repositórios. Por exemplo, criamos itens w3big:

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

Agora você pode ver o subdiretório .git gerado em seu projeto. Este é o seu repositório Git, e todos os dados relacionados a um instantâneo do seu projeto são armazenadas aqui.

ls -a
.	..	.git

clone git

Use git clonar um repositório Git para uma cópia local, para que eles possam ver o item, ou modificá-lo.

Se você precisa de um projeto de cooperação com os outros, ou você deseja copiar um projeto, olhar para o código, você pode clonar o projeto. execute:

 git clone [url]

Item [url] você quer copiá-lo.

Por exemplo, nós clonado o projeto no 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.

Depois de duplicação é concluído no diretório atual irá gerar um simplegit diretório:

$ Cd simplegit / $ ls README Rakefile lib

A operação irá copiar todos os registros do projeto.

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

Por padrão, o Git seguirá o nome do URL fornecido itens para criar o seu diretório de projeto local indicado. A URL é geralmente o último nome do item / depois. Se você quiser um nome diferente, você pode adicionar o nome que deseja após o comando.


Snapshot Básico

O trabalho do Git é criar e salvar um instantâneo do seu projeto e depois de instantâneos e comparar. Este capítulo será sobre a criação de um instantâneo do seu projecto e apresentar a introdução de comandos.

git add

comando git add para adicionar o arquivo para o cache, como nós adicionamos os dois seguintes arquivos:

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

comando git status é usado para exibir o status atual do projeto.

Em seguida nós executar git add comando para adicionar arquivos:

$ git add README hello.php 

Agora vamos executar git status, você pode ver esses dois documentos foram adicionados a percorrer.

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

O novo projeto, adicione todos os arquivos em comum, podemos usargit add. Comando para adicionar todos os arquivos no projeto atual.

Agora vamos modificar o arquivo 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" significa que o arquivo depois de adicioná-lo para o cache há mudanças. Após a mudança que executar git comando add para adicioná-lo para o cache:

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

Quando você quiser que suas alterações contidas no próximo instantâneo de relatório em tempo, precisamos executar git add.

git status

git status de vê-lo após a última confirmação se houver alterações.

Eu demonstrei este comando quando adicionado -s parâmetro para obter um breve resultado. Se você não adicionar esse parâmetro será detalhado de saída:

$ 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

estatuto git diff git Executivo para ver os detalhes dos resultados da execução.

git diff de comando e exibe o cache de gravação foi modificado, mas ainda não gravados no cache das mudanças de diferença. git diff Há dois cenários principais.

  • alterações não armazenadas em cache:git diff
  • Veralterações em cache:git diff --cached
  • Ver em cache e não armazenados em cache todas asalterações: Cabeça git diff
  • Mostrar resumos em vez de todo odiff: git diff --stat

Digite o seguinte no arquivo ola.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';
+?>

exibição do status git em seu último comprometer-se a mudar após a atualização ou escreva linha de mudanças de cache por linha e git diff mostram especificamente o que essas mudanças.

Em seguida, vêm para ver o próximo git diff implementação --cached dos resultados:

$ 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

Use comando git add você quer escrever o conteúdo do buffer de instantâneo, e executar git commit irá adicionar conteúdo ao armazém buffer.

Git você enviar cada seu nome e e-mail registrados endereço, de modo que o primeiro passo que você precisa para configurar um nome de usuário e e-mail.

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

Em seguida nós gravação em cache, e enviar todas as alterações ao ola.php. No primeiro exemplo, usamos a opção -m para fornecer a linha de comando para enviar comentários.

$ 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
 

Agora que temos registrado instantâneos. Se nós executarmos git status:

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

A saída acima mostra que depois da última apresentação, não fez nenhuma alteração, é um "diretório de trabalho limpo:. Diretório de trabalho limpo"

Se você não definir a opção -m, Git tenta abrir um editor para que você preencha as informações apresentadas. Git se você não pode encontrar as informações relevantes na sua configuração, o padrão será aberto vim. A tela será parecido com este:

# 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

Se você acha que git add submetido processo de cache demasiado pesado, Git também permite que você use a opção -a para pular esta etapa. formato de comando é a seguinte:

git commit -a

Vamos modificar o arquivo ola.php como o seguinte:

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

Em seguida, execute o seguinte comando:

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

CABEÇA git reset

git redefinir comando HEAD para remover o conteúdo armazenado em cache.

Vamos mudar o arquivo README arquivo, como segue:

# w3big Git 测试
# 本教程 

arquivo ola.php alterado da seguinte forma:

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

Agora, depois de dois arquivos modificados são submetidos à zona de amortecimento, que agora pretende cancelar um do cache, como segue:

$ 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

Agora você executar git commit arquivo LEIA-ME, as alterações só serão submetidos, mas ola.php não é.

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

Você pode ver arquivo as mudanças ola.php e para a apresentação.

Então, podemos usar o seguinte comando para modificar ola.php apresentar:

$ 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

Em suma, fazer git reset HEAD para cancelar antes git add para adicionar, mas não quer incluir no cache instantâneo na próxima consolidação.

rm git

entrada rm git será removido do cache. Esta reposição CABEÇA git cancelar as entradas de cache são diferentes. "Cancelar Cache", o que significa que a recuperação vai fazer alterações ao nosso cache de maneira anterior.

Porpadrão, o arquivo rm git serão eliminados a partir dos arquivos de cache e seu disco rígido (o diretório de trabalho).

Se você quiser manter o arquivo no diretório de trabalho, você pode usargit rm --cached:

Ao removermos ola.php arquivos:

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

não exclui arquivos do espaço de trabalho:

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

git mv

git comando mv para fazer todas as coisas que oGIT comando rm --cachedoperação, renomeie o arquivo no disco, e em seguida, executar git add para adicionar novos arquivos para o cache.

README que primeiro remover basta adicionar de volta:

$ git add README 

Em seguida, seu mesmo nome:

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