Projeto

Geral

Perfil

Gitcomandos » Histórico » Versão 4

Mauricio Luiz Viani, 28/12/2016 14:37 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. Operações sobre o repositório
71 3 Mauricio Luiz Viani
72 3 Mauricio Luiz Viani
h3. Exibir situação do repositório
73 3 Mauricio Luiz Viani
74 1 Mauricio Luiz Viani
<pre>
75 3 Mauricio Luiz Viani
$ git status
76 3 Mauricio Luiz Viani
77 3 Mauricio Luiz Viani
Lista a situação do repositório, mostrando o ramo ativo, posição do ponteiro do ramo em 
78 3 Mauricio Luiz Viani
relação ao remoto, arquivos modificados e arquivos pendentes de commit
79 1 Mauricio Luiz Viani
</pre>
80 1 Mauricio Luiz Viani
81 3 Mauricio Luiz Viani
h3. Adicionar um servidor remoto
82 1 Mauricio Luiz Viani
83 1 Mauricio Luiz Viani
<pre>
84 1 Mauricio Luiz Viani
$ git remote add <nome-repositorio> <caminho>
85 1 Mauricio Luiz Viani
86 1 Mauricio Luiz Viani
Exemplo:
87 1 Mauricio Luiz Viani
88 1 Mauricio Luiz Viani
$ git remote add repo-externo https://github.com/ComunidadeExpresso/expressomobile.git
89 1 Mauricio Luiz Viani
</pre>
90 1 Mauricio Luiz Viani
91 3 Mauricio Luiz Viani
h3. Atualizar repositório local com a versão mais recente do repositório remoto
92 1 Mauricio Luiz Viani
93 1 Mauricio Luiz Viani
<pre>
94 1 Mauricio Luiz Viani
$ git pull
95 1 Mauricio Luiz Viani
96 1 Mauricio Luiz Viani
Posicionar no branch que receberá as atualizações
97 1 Mauricio Luiz Viani
</pre>
98 1 Mauricio Luiz Viani
99 3 Mauricio Luiz Viani
h3. Enviar dados do branch para o servidor remoto
100 1 Mauricio Luiz Viani
101 1 Mauricio Luiz Viani
<pre>
102 1 Mauricio Luiz Viani
$ git push
103 1 Mauricio Luiz Viani
104 1 Mauricio Luiz Viani
Posicionar no branch que será origem do envio
105 1 Mauricio Luiz Viani
106 1 Mauricio Luiz Viani
ou:
107 1 Mauricio Luiz Viani
108 1 Mauricio Luiz Viani
$ git push <nome-repositorio> <nome_branch>
109 1 Mauricio Luiz Viani
110 1 Mauricio Luiz Viani
Exemplo: git push origin master
111 1 Mauricio Luiz Viani
</pre> 
112 1 Mauricio Luiz Viani
113 3 Mauricio Luiz Viani
h3. Ver o log
114 1 Mauricio Luiz Viani
115 1 Mauricio Luiz Viani
<pre>
116 1 Mauricio Luiz Viani
$ git log
117 1 Mauricio Luiz Viani
$ git log -4
118 1 Mauricio Luiz Viani
</pre>
119 1 Mauricio Luiz Viani
120 1 Mauricio Luiz Viani
h3. Exibir informações do repositório remoto
121 1 Mauricio Luiz Viani
122 3 Mauricio Luiz Viani
<pre>
123 1 Mauricio Luiz Viani
$ git remote show <nome-repositorio>
124 1 Mauricio Luiz Viani
125 1 Mauricio Luiz Viani
Exemplo: git remote show origin
126 1 Mauricio Luiz Viani
</pre>
127 1 Mauricio Luiz Viani
128 1 Mauricio Luiz Viani
h3. Atualizar repositório local com últimas atualizações dos remotos
129 1 Mauricio Luiz Viani
130 3 Mauricio Luiz Viani
<pre>
131 1 Mauricio Luiz Viani
$ git fetch --all
132 1 Mauricio Luiz Viani
</pre>
133 1 Mauricio Luiz Viani
134 1 Mauricio Luiz Viani
h3. Salvar as atualizações locais antes de atualizar o repositório
135 1 Mauricio Luiz Viani
136 3 Mauricio Luiz Viani
<pre>
137 1 Mauricio Luiz Viani
$ git pull --rebase
138 1 Mauricio Luiz Viani
139 4 Mauricio Luiz Viani
Irá salvar as alterações locais, atualizar o repositório local a partir do remoto e reaplicar as 
140 4 Mauricio Luiz Viani
atualizações locais
141 3 Mauricio Luiz Viani
</pre>
142 3 Mauricio Luiz Viani
143 3 Mauricio Luiz Viani
---------
144 3 Mauricio Luiz Viani
145 3 Mauricio Luiz Viani
h2. Operações sobre arquivos
146 3 Mauricio Luiz Viani
147 3 Mauricio Luiz Viani
h3. Adicionar arquivos na área de staging 
148 3 Mauricio Luiz Viani
149 3 Mauricio Luiz Viani
<pre>
150 3 Mauricio Luiz Viani
$ git add <arquivo>
151 3 Mauricio Luiz Viani
$ git add *
152 3 Mauricio Luiz Viani
$ git add --all
153 3 Mauricio Luiz Viani
154 3 Mauricio Luiz Viani
Irá marcar os arquivos modificados como prontos para serem enviados ao repositório local (commit)
155 3 Mauricio Luiz Viani
156 3 Mauricio Luiz Viani
</pre>
157 3 Mauricio Luiz Viani
158 3 Mauricio Luiz Viani
h3. Remover arquivos do repositório
159 1 Mauricio Luiz Viani
160 1 Mauricio Luiz Viani
<pre>
161 3 Mauricio Luiz Viani
$ git rm <arquivo>
162 1 Mauricio Luiz Viani
$ git rm <pasta>
163 1 Mauricio Luiz Viani
</pre>
164 3 Mauricio Luiz Viani
165 3 Mauricio Luiz Viani
h3. Reverter a atualização em um arquivo
166 3 Mauricio Luiz Viani
167 3 Mauricio Luiz Viani
<pre>
168 3 Mauricio Luiz Viani
$ git checkout <arquivo>
169 3 Mauricio Luiz Viani
</pre>
170 3 Mauricio Luiz Viani
171 3 Mauricio Luiz Viani
h3. Commit dos arquivos da área de staging
172 3 Mauricio Luiz Viani
173 3 Mauricio Luiz Viani
<pre>
174 3 Mauricio Luiz Viani
$ git commit -m "Issue #<nnnn> - <Comentários das alterações>"
175 3 Mauricio Luiz Viani
</pre>
176 3 Mauricio Luiz Viani
177 3 Mauricio Luiz Viani
Onde <nnnn> é o número da Issue a que se refere o commit
178 3 Mauricio Luiz Viani
179 3 Mauricio Luiz Viani
Exemplo:
180 3 Mauricio Luiz Viani
181 3 Mauricio Luiz Viani
<pre>
182 3 Mauricio Luiz Viani
$ git commit -m "Issue #1885 - Implementa o construtor da classe Imap"
183 3 Mauricio Luiz Viani
184 4 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 
185 4 Mauricio Luiz Viani
o número da revisão do commit
186 3 Mauricio Luiz Viani
187 4 Mauricio Luiz Viani
Caso uma mensagem de commit esteja fora do padrão, o servidor irá retornar um aviso de erro e o push 
188 4 Mauricio Luiz Viani
não será efetivado
189 3 Mauricio Luiz Viani
</pre>
190 3 Mauricio Luiz Viani
191 3 Mauricio Luiz Viani
h3. Colocar alterações locais em área temporária
192 3 Mauricio Luiz Viani
193 3 Mauricio Luiz Viani
<pre>
194 1 Mauricio Luiz Viani
$ git stash -u -a
195 3 Mauricio Luiz Viani
196 3 Mauricio Luiz Viani
Irá salvar as atualizações locais e retornar o repositório à posição da última sincronização
197 1 Mauricio Luiz Viani
</pre>
198 1 Mauricio Luiz Viani
199 3 Mauricio Luiz Viani
h3. Retornar alterações na área temporária
200 1 Mauricio Luiz Viani
201 1 Mauricio Luiz Viani
<pre>
202 1 Mauricio Luiz Viani
$ git stash pop
203 1 Mauricio Luiz Viani
204 1 Mauricio Luiz Viani
$ git stash apply
205 1 Mauricio Luiz Viani
206 1 Mauricio Luiz Viani
Pode ser combinado com o identificador do pacote. Por exemplo:
207 1 Mauricio Luiz Viani
208 1 Mauricio Luiz Viani
$ git stash pop stash@{1}
209 1 Mauricio Luiz Viani
210 1 Mauricio Luiz Viani
</pre>
211 1 Mauricio Luiz Viani
212 1 Mauricio Luiz Viani
h3. Visualizar diferenças
213 1 Mauricio Luiz Viani
214 1 Mauricio Luiz Viani
<pre>
215 1 Mauricio Luiz Viani
$ git diff <branch_origem> <branch_destino>
216 1 Mauricio Luiz Viani
217 1 Mauricio Luiz Viani
$ git diff <commit> <commit>
218 1 Mauricio Luiz Viani
219 1 Mauricio Luiz Viani
$ git diff <arquivo>
220 1 Mauricio Luiz Viani
</pre>
221 1 Mauricio Luiz Viani
222 1 Mauricio Luiz Viani
h3. Aplicar um patch
223 1 Mauricio Luiz Viani
224 1 Mauricio Luiz Viani
<pre>
225 1 Mauricio Luiz Viani
$ patch -p1 -i <arquivo-diff>
226 3 Mauricio Luiz Viani
227 3 Mauricio Luiz Viani
Gere o arquivo de diferenças com o comando git diff
228 4 Mauricio Luiz Viani
</pre>
229 4 Mauricio Luiz Viani
230 4 Mauricio Luiz Viani
-----
231 4 Mauricio Luiz Viani
232 4 Mauricio Luiz Viani
h2. Tags
233 4 Mauricio Luiz Viani
234 4 Mauricio Luiz Viani
h3. Criar uma tag
235 4 Mauricio Luiz Viani
236 4 Mauricio Luiz Viani
<pre>
237 4 Mauricio Luiz Viani
$ git tag <nome-da-tag>
238 4 Mauricio Luiz Viani
239 4 Mauricio Luiz Viani
Posicionar no branch que será origem da tag
240 4 Mauricio Luiz Viani
</pre>
241 4 Mauricio Luiz Viani
242 4 Mauricio Luiz Viani
h3. Remover uma tag
243 4 Mauricio Luiz Viani
244 4 Mauricio Luiz Viani
<pre>
245 4 Mauricio Luiz Viani
$ git tag -d <nome-da-tag>
246 4 Mauricio Luiz Viani
</pre>
247 4 Mauricio Luiz Viani
248 4 Mauricio Luiz Viani
h3. Enviar tags para o repositório remoto
249 4 Mauricio Luiz Viani
250 4 Mauricio Luiz Viani
<pre>
251 4 Mauricio Luiz Viani
$ git push --tags
252 3 Mauricio Luiz Viani
</pre>
253 3 Mauricio Luiz Viani
254 3 Mauricio Luiz Viani
------
255 3 Mauricio Luiz Viani
256 3 Mauricio Luiz Viani
h3. Instalar softwares gráficos
257 1 Mauricio Luiz Viani
258 1 Mauricio Luiz Viani
<pre>
259 1 Mauricio Luiz Viani
$ apt-get install git-gui
260 1 Mauricio Luiz Viani
$ apt-get install gitk
261 1 Mauricio Luiz Viani
</pre>