Projeto

Geral

Perfil

Gitcomandos » Histórico » Versão 3

Mauricio Luiz Viani, 28/12/2016 14:28 h

1 1 Mauricio Luiz Viani
h1. Comandos básicos do Git
2 1 Mauricio Luiz Viani
3 3 Mauricio Luiz Viani
h2. Branches
4 1 Mauricio Luiz Viani
5 3 Mauricio Luiz Viani
h3. Listar branches
6 3 Mauricio Luiz Viani
7 1 Mauricio Luiz Viani
<pre>
8 1 Mauricio Luiz Viani
$ git branch
9 1 Mauricio Luiz Viani
$ git branch -a
10 1 Mauricio Luiz Viani
11 1 Mauricio Luiz Viani
O ramo que tiver um '*' é o ramo ativo
12 1 Mauricio Luiz Viani
</pre> 
13 1 Mauricio Luiz Viani
14 3 Mauricio Luiz Viani
h3. Selecionar branch
15 1 Mauricio Luiz Viani
16 1 Mauricio Luiz Viani
<pre>
17 1 Mauricio Luiz Viani
$ git checkout <nome_do_branch>
18 1 Mauricio Luiz Viani
19 1 Mauricio Luiz Viani
Ativa o branch como padrão
20 1 Mauricio Luiz Viani
</pre> 
21 1 Mauricio Luiz Viani
22 3 Mauricio Luiz Viani
h3. Criar branch
23 1 Mauricio Luiz Viani
24 1 Mauricio Luiz Viani
<pre>
25 3 Mauricio Luiz Viani
$ git branch <nome_do_branch>
26 1 Mauricio Luiz Viani
27 3 Mauricio Luiz Viani
Posicionar no branch a partir do qual será gerado o novo branch. Ex: master
28 3 Mauricio Luiz Viani
</pre> 
29 1 Mauricio Luiz Viani
30 3 Mauricio Luiz Viani
h3. Excluir branch
31 1 Mauricio Luiz Viani
32 1 Mauricio Luiz Viani
<pre>
33 3 Mauricio Luiz Viani
$ git branch -d <nome_do_branch>
34 1 Mauricio Luiz Viani
35 3 Mauricio Luiz Viani
Use -D para forçar exclusão do branch mesmo que existam diferenças
36 1 Mauricio Luiz Viani
</pre>
37 1 Mauricio Luiz Viani
38 3 Mauricio Luiz Viani
h3. Mesclar branches
39 1 Mauricio Luiz Viani
40 1 Mauricio Luiz Viani
<pre>
41 3 Mauricio Luiz Viani
$ git merge <nome_branch_mesclar>
42 1 Mauricio Luiz Viani
43 3 Mauricio Luiz Viani
Posicionar no branch que receberá o merge
44 3 Mauricio Luiz Viani
Em caso de conflito fazer git mergetool
45 1 Mauricio Luiz Viani
</pre> 
46 1 Mauricio Luiz Viani
47 3 Mauricio Luiz Viani
h3. Criar um branch a partir de uma tag
48 2 Mauricio Luiz Viani
49 1 Mauricio Luiz Viani
<pre>
50 3 Mauricio Luiz Viani
$ git checkout -b <nome-do-branch> tags/<nome-da-tag>
51 1 Mauricio Luiz Viani
</pre>
52 1 Mauricio Luiz Viani
53 3 Mauricio Luiz Viani
h3. Posicionar um branch em uma revisão
54 1 Mauricio Luiz Viani
55 1 Mauricio Luiz Viani
<pre>
56 3 Mauricio Luiz Viani
$ git reset --hard <hash-da-revisao>
57 3 Mauricio Luiz Viani
$ git reset --hard HEAD
58 1 Mauricio Luiz Viani
</pre>
59 2 Mauricio Luiz Viani
60 3 Mauricio Luiz Viani
h3. Commitar uma revisão qualquer sobre um branch
61 1 Mauricio Luiz Viani
62 1 Mauricio Luiz Viani
<pre>
63 3 Mauricio Luiz Viani
$ git cherry-pick --edit <hash-da-revisao>
64 2 Mauricio Luiz Viani
65 3 Mauricio Luiz Viani
Posicionar primeiramente no branch que receberá o commit
66 2 Mauricio Luiz Viani
</pre>
67 2 Mauricio Luiz Viani
68 3 Mauricio Luiz Viani
-----
69 1 Mauricio Luiz Viani
70 3 Mauricio Luiz Viani
h2. Tags
71 1 Mauricio Luiz Viani
72 3 Mauricio Luiz Viani
h3. Criar uma tag
73 1 Mauricio Luiz Viani
74 1 Mauricio Luiz Viani
<pre>
75 1 Mauricio Luiz Viani
$ git tag <nome-da-tag>
76 1 Mauricio Luiz Viani
77 1 Mauricio Luiz Viani
Posicionar no branch que será origem da tag
78 1 Mauricio Luiz Viani
</pre>
79 1 Mauricio Luiz Viani
80 3 Mauricio Luiz Viani
h3. Remover uma tag
81 1 Mauricio Luiz Viani
82 1 Mauricio Luiz Viani
<pre>
83 1 Mauricio Luiz Viani
$ git tag -d <nome-da-tag>
84 1 Mauricio Luiz Viani
</pre>
85 1 Mauricio Luiz Viani
86 3 Mauricio Luiz Viani
h3. Enviar tags para o repositório remoto
87 1 Mauricio Luiz Viani
88 1 Mauricio Luiz Viani
<pre>
89 1 Mauricio Luiz Viani
$ git push --tags
90 1 Mauricio Luiz Viani
</pre>
91 1 Mauricio Luiz Viani
92 3 Mauricio Luiz Viani
------
93 1 Mauricio Luiz Viani
94 3 Mauricio Luiz Viani
h2. Operações sobre o repositório
95 3 Mauricio Luiz Viani
96 3 Mauricio Luiz Viani
h3. Exibir situação do repositório
97 3 Mauricio Luiz Viani
98 1 Mauricio Luiz Viani
<pre>
99 3 Mauricio Luiz Viani
$ git status
100 3 Mauricio Luiz Viani
101 3 Mauricio Luiz Viani
Lista a situação do repositório, mostrando o ramo ativo, posição do ponteiro do ramo em 
102 3 Mauricio Luiz Viani
relação ao remoto, arquivos modificados e arquivos pendentes de commit
103 1 Mauricio Luiz Viani
</pre>
104 1 Mauricio Luiz Viani
105 3 Mauricio Luiz Viani
h3. Adicionar um servidor remoto
106 1 Mauricio Luiz Viani
107 1 Mauricio Luiz Viani
<pre>
108 1 Mauricio Luiz Viani
$ git remote add <nome-repositorio> <caminho>
109 1 Mauricio Luiz Viani
110 1 Mauricio Luiz Viani
Exemplo:
111 1 Mauricio Luiz Viani
112 1 Mauricio Luiz Viani
$ git remote add repo-externo https://github.com/ComunidadeExpresso/expressomobile.git
113 1 Mauricio Luiz Viani
</pre>
114 1 Mauricio Luiz Viani
115 3 Mauricio Luiz Viani
h3. Atualizar repositório local com a versão mais recente do repositório remoto
116 1 Mauricio Luiz Viani
117 1 Mauricio Luiz Viani
<pre>
118 1 Mauricio Luiz Viani
$ git pull
119 1 Mauricio Luiz Viani
120 1 Mauricio Luiz Viani
Posicionar no branch que receberá as atualizações
121 1 Mauricio Luiz Viani
</pre>
122 1 Mauricio Luiz Viani
123 3 Mauricio Luiz Viani
h3. Enviar dados do branch para o servidor remoto
124 1 Mauricio Luiz Viani
125 1 Mauricio Luiz Viani
<pre>
126 1 Mauricio Luiz Viani
$ git push
127 1 Mauricio Luiz Viani
128 1 Mauricio Luiz Viani
Posicionar no branch que será origem do envio
129 1 Mauricio Luiz Viani
130 1 Mauricio Luiz Viani
ou:
131 1 Mauricio Luiz Viani
132 1 Mauricio Luiz Viani
$ git push <nome-repositorio> <nome_branch>
133 1 Mauricio Luiz Viani
134 1 Mauricio Luiz Viani
Exemplo: git push origin master
135 1 Mauricio Luiz Viani
</pre> 
136 1 Mauricio Luiz Viani
137 3 Mauricio Luiz Viani
h3. Ver o log
138 1 Mauricio Luiz Viani
139 1 Mauricio Luiz Viani
<pre>
140 1 Mauricio Luiz Viani
$ git log
141 1 Mauricio Luiz Viani
$ git log -4
142 1 Mauricio Luiz Viani
</pre>
143 1 Mauricio Luiz Viani
144 3 Mauricio Luiz Viani
h3. Exibir informações do repositório remoto
145 1 Mauricio Luiz Viani
146 1 Mauricio Luiz Viani
<pre>
147 1 Mauricio Luiz Viani
$ git remote show <nome-repositorio>
148 1 Mauricio Luiz Viani
149 1 Mauricio Luiz Viani
Exemplo: git remote show origin
150 1 Mauricio Luiz Viani
</pre>
151 1 Mauricio Luiz Viani
152 3 Mauricio Luiz Viani
h3. Atualizar repositório local com últimas atualizações dos remotos
153 1 Mauricio Luiz Viani
154 1 Mauricio Luiz Viani
<pre>
155 1 Mauricio Luiz Viani
$ git fetch --all
156 1 Mauricio Luiz Viani
</pre>
157 1 Mauricio Luiz Viani
158 3 Mauricio Luiz Viani
h3. Salvar as atualizações locais antes de atualizar o repositório
159 1 Mauricio Luiz Viani
160 1 Mauricio Luiz Viani
<pre>
161 3 Mauricio Luiz Viani
$ git pull --rebase
162 3 Mauricio Luiz Viani
163 3 Mauricio Luiz Viani
Irá salvar as alterações locais, atualizar o repositório local a partir do remoto e reaplicar as atualizações locais
164 3 Mauricio Luiz Viani
</pre>
165 3 Mauricio Luiz Viani
166 3 Mauricio Luiz Viani
---------
167 3 Mauricio Luiz Viani
168 3 Mauricio Luiz Viani
h2. Operações sobre arquivos
169 3 Mauricio Luiz Viani
170 3 Mauricio Luiz Viani
h3. Adicionar arquivos na área de staging 
171 3 Mauricio Luiz Viani
172 3 Mauricio Luiz Viani
<pre>
173 3 Mauricio Luiz Viani
$ git add <arquivo>
174 3 Mauricio Luiz Viani
$ git add *
175 3 Mauricio Luiz Viani
$ git add --all
176 3 Mauricio Luiz Viani
177 3 Mauricio Luiz Viani
Irá marcar os arquivos modificados como prontos para serem enviados ao repositório local (commit)
178 3 Mauricio Luiz Viani
179 3 Mauricio Luiz Viani
</pre>
180 3 Mauricio Luiz Viani
181 3 Mauricio Luiz Viani
h3. Remover arquivos do repositório
182 3 Mauricio Luiz Viani
183 3 Mauricio Luiz Viani
<pre>
184 3 Mauricio Luiz Viani
$ git rm <arquivo>
185 3 Mauricio Luiz Viani
$ git rm <pasta>
186 3 Mauricio Luiz Viani
</pre>
187 3 Mauricio Luiz Viani
188 3 Mauricio Luiz Viani
h3. Reverter a atualização em um arquivo
189 3 Mauricio Luiz Viani
190 3 Mauricio Luiz Viani
<pre>
191 3 Mauricio Luiz Viani
$ git checkout <arquivo>
192 3 Mauricio Luiz Viani
</pre>
193 3 Mauricio Luiz Viani
194 3 Mauricio Luiz Viani
h3. Commit dos arquivos da área de staging
195 3 Mauricio Luiz Viani
196 3 Mauricio Luiz Viani
<pre>
197 3 Mauricio Luiz Viani
$ git commit -m "Issue #<nnnn> - <Comentários das alterações>"
198 3 Mauricio Luiz Viani
</pre>
199 3 Mauricio Luiz Viani
200 3 Mauricio Luiz Viani
Onde <nnnn> é o número da Issue a que se refere o commit
201 3 Mauricio Luiz Viani
202 3 Mauricio Luiz Viani
Exemplo:
203 3 Mauricio Luiz Viani
204 3 Mauricio Luiz Viani
<pre>
205 3 Mauricio Luiz Viani
$ git commit -m "Issue #1885 - Implementa o construtor da classe Imap"
206 3 Mauricio Luiz Viani
207 3 Mauricio Luiz Viani
O uso do número da issue no comentário do commit fará com que o Redmine anote no histórico da issue o número da revisão do commit
208 3 Mauricio Luiz Viani
209 3 Mauricio Luiz Viani
Caso uma mensagem de commit esteja fora do padrão, o servidor irá retornar um aviso de erro e o push não será efetivado
210 3 Mauricio Luiz Viani
</pre>
211 3 Mauricio Luiz Viani
212 3 Mauricio Luiz Viani
h3. Colocar alterações locais em área temporária
213 3 Mauricio Luiz Viani
214 3 Mauricio Luiz Viani
<pre>
215 1 Mauricio Luiz Viani
$ git stash -u -a
216 3 Mauricio Luiz Viani
217 3 Mauricio Luiz Viani
Irá salvar as atualizações locais e retornar o repositório à posição da última sincronização
218 1 Mauricio Luiz Viani
</pre>
219 1 Mauricio Luiz Viani
220 3 Mauricio Luiz Viani
h3. Retornar alterações na área temporária
221 1 Mauricio Luiz Viani
222 1 Mauricio Luiz Viani
<pre>
223 3 Mauricio Luiz Viani
$ git stash pop
224 3 Mauricio Luiz Viani
225 3 Mauricio Luiz Viani
$ git stash apply
226 3 Mauricio Luiz Viani
227 3 Mauricio Luiz Viani
Pode ser combinado com o identificador do pacote. Por exemplo:
228 3 Mauricio Luiz Viani
229 3 Mauricio Luiz Viani
$ git stash pop stash@{1}
230 3 Mauricio Luiz Viani
231 1 Mauricio Luiz Viani
</pre>
232 1 Mauricio Luiz Viani
233 3 Mauricio Luiz Viani
h3. Visualizar diferenças
234 1 Mauricio Luiz Viani
235 1 Mauricio Luiz Viani
<pre>
236 3 Mauricio Luiz Viani
$ git diff <branch_origem> <branch_destino>
237 1 Mauricio Luiz Viani
238 3 Mauricio Luiz Viani
$ git diff <commit> <commit>
239 3 Mauricio Luiz Viani
240 3 Mauricio Luiz Viani
$ git diff <arquivo>
241 1 Mauricio Luiz Viani
</pre>
242 1 Mauricio Luiz Viani
243 3 Mauricio Luiz Viani
h3. Aplicar um patch
244 3 Mauricio Luiz Viani
245 3 Mauricio Luiz Viani
<pre>
246 3 Mauricio Luiz Viani
$ patch -p1 -i <arquivo-diff>
247 3 Mauricio Luiz Viani
248 3 Mauricio Luiz Viani
Gere o arquivo de diferenças com o comando git diff
249 3 Mauricio Luiz Viani
</pre>
250 3 Mauricio Luiz Viani
251 3 Mauricio Luiz Viani
------
252 3 Mauricio Luiz Viani
253 3 Mauricio Luiz Viani
h3. Instalar softwares gráficos
254 1 Mauricio Luiz Viani
255 1 Mauricio Luiz Viani
<pre>
256 1 Mauricio Luiz Viani
$ apt-get install git-gui
257 1 Mauricio Luiz Viani
$ apt-get install gitk
258 1 Mauricio Luiz Viani
</pre>