Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] update 1-git-basics.asc #2

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 6 additions & 7 deletions book/02-git-basics/1-git-basics.asc
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
[[_git_basics_chapter]]
== Git Basics
== Git Essencial

If you can read only one chapter to get going with Git, this is it.
This chapter covers every basic command you need to do the vast majority of the things you'll eventually spend your time doing with Git.
By the end of the chapter, you should be able to configure and initialize a repository, begin and stop tracking files, and stage and commit changes.
We'll also show you how to set up Git to ignore certain files and file patterns, how to undo mistakes quickly and easily, how to browse the history of your project and view changes between commits, and how to push and pull from remote repositories.
Se você só puder ler um capítulo para continuar a usar o Git, leia esse.
Esse capítulo cobre todos os comandos básicos que você precisa para realizar a maioria das atividades que eventualmente você fará no Git.
Ao final desse capítulo você deverá ser capaz de configurar e inicializar um repositório, começar e parar o monitoramento de arquivos, além de selecionar(stage) e consolidar (fazer commit) alterações.
Também vamos mostrar a você como configurar o Git para ignorar certos tipos de arquivos e padrões de arquivos, como desfazer enganos de forma rápida e fácil, como pesquisar o histórico do seu projeto e visualizar alterações entre commits e como enviar e obter arquivos a partir de repositórios remotos.

include::sections/getting-a-repository.asc[]

Expand All @@ -22,5 +22,4 @@ include::sections/aliases.asc[]

=== Summary

At this point, you can do all the basic local Git operations – creating or cloning a repository, making changes, staging and committing those changes, and viewing the history of all the changes the repository has been through.
Next, we'll cover Git's killer feature: its branching model.
Neste ponto, você pode executar todas as operações locais básicas do Git — criar ou clonar um repositório, efetuar mudanças, fazer o stage e commit de suas mudanças, e ver o histórico de todas as mudanças do repositório. A seguir, vamos cobrir a melhor característica do Git: o modelo de branching.
74 changes: 37 additions & 37 deletions book/02-git-basics/sections/getting-a-repository.asc
Original file line number Diff line number Diff line change
@@ -1,82 +1,82 @@
[[_getting_a_repo]]
=== Getting a Git Repository
=== Obtendo um Repositório Git

You can get a Git project using two main approaches.
The first takes an existing project or directory and imports it into Git.
The second clones an existing Git repository from another server.
Você pode obter um projeto Git de duas maneiras principais.
A primeira faz uso de um projeto ou diretório existente e o importa para o Git.
A segunda clona um repositório Git existente a partir de outro servidor.

==== Initializing a Repository in an Existing Directory
==== Inicializando um Repositório em um Diretório Existente

If you're starting to track an existing project in Git, you need to go to the project's directory. If you've never done this, it looks a little different depending on which system you're running:

for Linux:
Caso você esteja iniciando o monitoramento de um projeto existente com Git, você precisa ir para o diretório do projeto. Se você nunca fez isso, há diferentes formas dependendo de qual sistema você está utilizando:

no Linux:
[source,console]
----
$ cd /home/user/your_repository
$ cd /home/user/meu_repositorio
----
for Mac:
no Mac:
[source,console]
----
$ cd /Users/user/your_repository
$ cd /Users/user/meu_repositorio
----
for Windows:
no Windows:
[source,console]
----
$ cd /c/user/your_repository
$ cd /c/user/meu_repositorio
----

and type:
e digite:

[source,console]
----
$ git init
----

This creates a new subdirectory named `.git` that contains all of your necessary repository files – a Git repository skeleton.
At this point, nothing in your project is tracked yet.
(See <<_git_internals>> for more information about exactly what files are contained in the `.git` directory you just created.)(((git commands, init)))
Isso cria um novo subdiretório chamado `.git` que contem todos os arquivos necessários de seu repositório — um esqueleto do repositório Git.
Até esse ponto, nada no seu projeto está monitorado.
(Veja <<_git_internals>> para maiores informações sobre quais arquivos estão contidos no diretório `.git` que você acabou de criar.)(((git commands, init)))

If you want to start version-controlling existing files (as opposed to an empty directory), you should probably begin tracking those files and do an initial commit.
You can accomplish that with a few `git add` commands that specify the files you want to track, followed by a `git commit`:
Caso você queira começar a controlar o versionamento dos arquivos existentes (diferente de um diretório vazio), você provavelmente deve começar a monitorar esses arquivos e fazer um commit inicial.
Você pode realizar isso com poucos comandos como `git add` que especificam quais arquivos você quer monitorar, seguido de um `git commit`:

[source,console]
----
$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'
$ git commit -m 'versao inicial do projeto'
----

We'll go over what these commands do in just a minute.
At this point, you have a Git repository with tracked files and an initial commit.
Nós iremos estudar o que esses comandos fazem em um momento.
Neste ponto, você tem um repositório Git com arquivos monitorados e um commit inicial.

[[_git_cloning]]
==== Cloning an Existing Repository
==== Clonando um Repositório Existente

If you want to get a copy of an existing Git repository – for example, a project you'd like to contribute to – the command you need is `git clone`.
If you're familiar with other VCS systems such as Subversion, you'll notice that the command is "clone" and not "checkout".
This is an important distinction – instead of getting just a working copy, Git receives a full copy of nearly all data that the server has.
Every version of every file for the history of the project is pulled down by default when you run `git clone`.
In fact, if your server disk gets corrupted, you can often use nearly any of the clones on any client to set the server back to the state it was in when it was cloned (you may lose some server-side hooks and such, but all the versioned data would be there – see <<_git_on_the_server>> for more details).
Caso você queira copiar um repositório Git já existente — por exemplo, um projeto que você queira contribuir — o comando necessário é `git clone`.
Caso você esteja familiarizado com outros sistemas VCS, tais como Subversion, você perceberá que o comando é "clone" e não "checkout".
Essa é uma diferença importante — ao invés de baixar um cópia do código funcional, o Git recebe uma cópia de quase todos os dados que o servidor possui.
Cada versão de cada arquivo no histórico do projeto é obtida quando você roda `git clone`.
De fato, se o disco do servidor ficar corrompido, é possível utilizar um dos clones em qualquer cliente para reaver o servidor no estado em que estava quando foi clonado (você pode perder algumas características do servidor, mas todos os dados versionados estarão lá — veja <<_git_on_the_server>> para maiores detalhes).

You clone a repository with `git clone [url]`.(((git commands, clone)))
For example, if you want to clone the Git linkable library called libgit2, you can do so like this:
Você clona um repositório com `git clone [url]`.(((git commands, clone)))
Por exemplo, caso você queria clonar a biblioteca Git do Ruby chamada libgit2, você pode fazê-lo da seguinte forma:

[source,console]
----
$ git clone https://github.com/libgit2/libgit2
----

That creates a directory named ``libgit2'', initializes a `.git` directory inside it, pulls down all the data for that repository, and checks out a working copy of the latest version.
If you go into the new `libgit2` directory, you'll see the project files in there, ready to be worked on or used.
If you want to clone the repository into a directory named something other than ``libgit2'', you can specify that as the next command-line option:
Isso cria um diretório chamado ``libgit2'', inicializa um diretório `.git` dentro deste, obtém todos os dados do repositório e verifica a cópia atual da última versão.
Se você entrar no novo diretório `libgit2`, você verá todos os arquivos do projeto, pronto para serem editados ou utilizados.
Caso você queira clonar o repositório em um diretório diferente de ``libgit2'', é possível especificar esse diretório utilizando a opção abaixo:

[source,console]
----
$ git clone https://github.com/libgit2/libgit2 mylibgit
----

That command does the same thing as the previous one, but the target directory is called `mylibgit`.
Este comando faz exatamente a mesma coisa que o anterior, mas o diretório alvo será chamado `mylibgit`.

Git has a number of different transfer protocols you can use.
The previous example uses the `https://` protocol, but you may also see `git://` or `user@server:path/to/repo.git`, which uses the SSH transfer protocol.
<<_git_on_the_server>> will introduce all of the available options the server can set up to access your Git repository and the pros and cons of each.
O Git possui diversos protocolos de transferência que você pode utilizar.
O exemplo anterior utiliza o protocolo `https://`, mas você também pode ver `git://` ou `user@server:/caminho/para/repo.git`, que utilizam o protocolo de transferência SSH.
Em <<_git_on_the_server>> veremos todas as opções disponíveis com as quais o servidor pode ser configurado para acessar o seu repositório Git e os prós e contras de cada uma.