Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
apostila-git
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Harbor Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pet-estatistica
apostila-git
Commits
e417d6f1
Commit
e417d6f1
authored
9 years ago
by
Eduardo E. R. Junior
Browse files
Options
Downloads
Patches
Plain Diff
Inclui configuração correta das ferramentas gráficas em Windows
parent
11205a63
No related branches found
No related tags found
1 merge request
!52
Issue#63
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
cap06.Rmd
+54
-27
54 additions, 27 deletions
cap06.Rmd
cap06.pdf
+0
-0
0 additions, 0 deletions
cap06.pdf
with
54 additions
and
27 deletions
cap06.Rmd
+
54
−
27
View file @
e417d6f1
...
@@ -480,12 +480,20 @@ git difftool -t meld README.md
...
@@ -480,12 +480,20 @@ git difftool -t meld README.md
Para utilização em sistemas Windows, programas externos ao Git devem
Para utilização em sistemas Windows, programas externos ao Git devem
ser informados no arquivo de configuração (`.gitconfig`). Abaixo
ser informados no arquivo de configuração (`.gitconfig`). Abaixo
configuramos, via linha de comando, este arquivo para usarmos o `meld`
configuramos, via linha de comando, este arquivo para usarmos o `meld`
como ferramenta de comparação - `difftool`:
como ferramenta de comparação - `difftool`, tanto para usuários Unix
como usuários Windows:
```{r, engine="bash", eval=FALSE}
```{r, engine="bash", eval=FALSE}
## Define globalmente o meld como ferramenta padrão de comparação
## Define localmente o meld como ferramenta padrão de diff
git config --global diff.tool meld
##-------------------------------------------
git config --global difftool.meld.cmd '"path/Meld.exe" $LOCAL $REMOTE'
## Unix.
git config diff.tool meld
##-------------------------------------------
### Windows.
git config diff.tool meld
git config difftool.meld.cmd '"path/Meld.exe" $LOCAL $REMOTE'
```
```
\noindent
\noindent
...
@@ -509,13 +517,14 @@ git difftool README.md
...
@@ -509,13 +517,14 @@ git difftool README.md
\label{fig:meld3}
\label{fig:meld3}
\end{figure}
\end{figure}
Na figura \ref{fig:meld3} temos a mesma informação trazida pelas
Na figura \ref{fig:meld3} temos o _screenshot_ do programa após exectado
interfaces onde implementam o comando `git diff`, porém aqui
o `difftool`. Nesta figura temos a mesma informação trazida pelas
podemos alterar os arquivos exibidos atráves das flechas nas bordas
interfaces onde implementam o comando `git diff`, porém aqui podemos
(levando ou trazendo as contribuições) ou mesmo editando pela
alterar os arquivos exibidos atráves das flechas nas bordas (levando ou
interface. Isso pode ser útil caso necessite desfazer parcialmente um
trazendo as contribuições) ou mesmo editando pela interface. Isso pode
*commit*, ou seja, parte das alterações de uma versão anterior seria
ser útil caso necessite desfazer parcialmente um *commit*, ou seja,
mantida e parte alterada.
parte das alterações de uma versão anterior seria mantida e parte
alterada.
Contudo, a maior necessidade das ferramentas de comparação não está no
Contudo, a maior necessidade das ferramentas de comparação não está no
seu uso como `difftools`, mas sim como `mergetools`. Já vimos no
seu uso como `difftools`, mas sim como `mergetools`. Já vimos no
...
@@ -655,7 +664,7 @@ conteúdo de cada arquivo em conflito com as porções conflitantes.
...
@@ -655,7 +664,7 @@ conteúdo de cada arquivo em conflito com as porções conflitantes.
então simplesmente exluí-los ou ignorá-los após a mesclagem adicionando
então simplesmente exluí-los ou ignorá-los após a mesclagem adicionando
arquivos com esta extensão no `.gitignore`. Outra forma de manter seu
arquivos com esta extensão no `.gitignore`. Outra forma de manter seu
repositório sem os arquivos _backup_ é configurando sua `mergetool` para
repositório sem os arquivos _backup_ é configurando sua `mergetool` para
não ar
a
mzená-los, ou seja, que a própria ferramenta os descarte quando a
não arm
a
zená-los, ou seja, que a própria ferramenta os descarte quando a
mesclagem for bem sucedida. Isso pode ser configurado com:
mesclagem for bem sucedida. Isso pode ser configurado com:
```{r, engine="bash", eval=FALSE}
```{r, engine="bash", eval=FALSE}
...
@@ -664,24 +673,42 @@ git config --global mergetool.keepBackup false
...
@@ -664,24 +673,42 @@ git config --global mergetool.keepBackup false
```
```
Até agora utilizamos o programa `meld` definindo-o na chamada dos
O procedimento de conflito simulado acima foi resolvido utilizando o
comandos `difftool` e `mergetool` com a opção `-t` (ou `--tool`). Mas
programa `meld` com os comandos definidos para os sistemas baseados no
podemos também definir globalmente a ferramenta de `merge`
kernel LINUX. Ainda a chamada do programa foi realizada através da opção
e `diff`. Para usuários de sistemas Unix, essa configuração pode ser
a opção `-t` (ou `--tool`). Porém podemos definir o `meld` como
feita simplesmente com:
ferramenta padrão para resolução de de `merge`, assim como foi feito para
a ferramenta de comparação (`difftool`). Abaixo configuramos o `meld`
também como `mergetool`, para sistemas Unix e Windows.
```{r, engine="bash", eval=FALSE}
```{r, engine="bash", eval=FALSE}
## Configura meld como ferramenta padrão de merge e diff
git config --global merge.tool meld
## Configura localmente meld como ferramenta padrão de merge
git config --global diff.tool meld
##-------------------------------------------
## Unix
git config merge.tool meld
##-------------------------------------------
## Windows
git config merge.tool meld
git config merge.meld.cmd '"path/Meld.exe" $LOCAL $BASE $REMOTE --output=$MERGED'
```
```
Para Windows deve-se informar o caminho para o arquivo executável,
`path`, além de definir as três versões que serão exibidas `$LOCAL`,
`$BASE` e `$REMOTE` conforme vimos na figura \ref{fig:meld4} e ainda a
opção `--output=$MERGED` informa que o arquivo a ser editado será
sobrescrito sob a versão `$MERGED`, que é criada pelo automaticamente
Git quando há conflitos.
Alternativamente pode-se editar o arquivo `.gitconfig` com as mesmas
Alternativamente pode-se editar o arquivo `.gitconfig` com as mesmas
informações passadas ao comando `git config --global`. Para verificar
informações passadas ao comando `git config`. Para verificar como
como altera-se esse arquivo, abra-o após avaliar os
altera-se esse arquivo, abra-o após avaliar os comandos descritos. Ainda
comandos descritos. Agora quando avaliados, os comandos `git mergetool` e
se desjado que essas opções sejão válidas para todos os projetos Git de
`git difftool`, o programa `meld` será lançado automaticamente.
seu computador a opção `--global` em `git config` pode ser
utilizada. Assim quando avaliados, os comandos `git mergetool` e `git
difftool`, o programa `meld` será lançado automaticamente.
Com isso, já temos nosso **Git** devidamente configurado para utilizar o
Com isso, já temos nosso **Git** devidamente configurado para utilizar o
programada `meld` e já observamos sua relevância quando se trabalha com
programada `meld` e já observamos sua relevância quando se trabalha com
...
@@ -699,8 +726,8 @@ programas de `mergetool` e `difftoll` padrão são as mesmas.
...
@@ -699,8 +726,8 @@ programas de `mergetool` e `difftoll` padrão são as mesmas.
É importante salientar que as ferramentas gráficas apresentadas neste
É importante salientar que as ferramentas gráficas apresentadas neste
capítulo não substituem totalmente os comandos via terminal, mas seu uso
capítulo não substituem totalmente os comandos via terminal, mas seu uso
em conjunto facilita o fluxo de trabalho adotado em um
projeto sob
em conjunto
com estes
facilita
m
o fluxo de trabalho adotado em um
versionamento.
projeto sob
versionamento.
<!-- Exclui o repositório criado para exemplicação -->
<!-- Exclui o repositório criado para exemplicação -->
```{r, engine = "bash", include = FALSE, eval = FALSE}
```{r, engine = "bash", include = FALSE, eval = FALSE}
...
...
This diff is collapsed.
Click to expand it.
cap06.pdf
+
0
−
0
View file @
e417d6f1
No preview for this file type
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment