/usr/share/help/es/programming-guidelines/version-control.page is in gnome-devel-docs 3.28.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | <?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="version-control" xml:lang="es">
<info>
<link type="guide" xref="index#general-guidelines"/>
<credit type="author copyright">
<name>Philip Withnall</name>
<email its:translate="no">philip.withnall@collabora.co.uk</email>
<years>2015</years>
</credit>
<include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>
<desc>Control de versiones de código con git</desc>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Daniel Mustieles</mal:name>
<mal:email>daniel.mustieles@gmail.com</mal:email>
<mal:years>2016</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Javier Mazorra</mal:name>
<mal:email>mazi.debian@gmail.com</mal:email>
<mal:years>2016</mal:years>
</mal:credit>
</info>
<title>Control de versiones</title>
<synopsis>
<title>Resumen</title>
<p>
git is used for version control for all GNOME projects. This page assumes
good working knowledge of git; some introductory material is available
<link href="https://www.atlassian.com/git/tutorials/">here</link>, and a
<link href="https://training.github.com/kit/downloads/github-git-cheat-sheet.pdf">git
cheatsheet is here</link>.
</p>
<list>
<item><p>Haga commits atómicos y reversibles. (<link xref="#guidelines-for-making-commits"/>)</p></item>
<item><p>Incluya un razonamiento completo en los mensajes de commit, así como enlaces a los informes de error o a la especificaciones. (Consulte la <link xref="#guidelines-for-making-commits"/>)</p></item>
<item><p>Haga los cambios grandes, como los renombrados, en commits separados. (Consulte la <link xref="#guidelines-for-making-commits"/>)</p></item>
<item><p>
Merge changes from feature branches by rebasing.
(<link xref="#use-of-git"/>)
</p></item>
</list>
</synopsis>
<section id="use-of-git">
<title>Uso de Git</title>
<p>La mayoría de los repositorios de GNOME siguen estas reglas:</p>
<list>
<item><p>
No forced pushes. Except for branches with the <code>wip/</code> prefix
(work-in-progress), the commits’ history must not be modified, as
contributors rely on it.
</p></item>
<item><p>Rebase los commits en lugar de mezclarlos, para tener un histórico lineal (más fácil de seguir).</p></item>
<item><p>
Work on feature branches on GNOME git in <code>wip/</code> branches,
then rebase on master and fast-forward merge the changes. It is a good
practice to also add your nickname to the branch name, as
<code>wip/nickname/feature</code>.
</p></item>
<item><p>
Hide <link href="https://sethrobertson.github.io/GitBestPractices/#sausage">sausage
making</link> by squashing commits before merging.
</p></item>
</list>
</section>
<section id="guidelines-for-making-commits">
<title>Guía para realizar commits</title>
<p>
Commits should be as small as possible, but no smaller. Each commit should
address a single issue, containing only changes related to that issue. The
message for each commit should describe the issue, explain what causes it,
and explain how it has been fixed if it is not obvious. If the commit is
associated with a bug report, the full URI for the bug report should be
put on a line by itself at the bottom of the commit message. Similarly,
the ID for the git commit (from <cmd>git log --oneline</cmd>) should
be copied into the bug report once the commit has been pushed, so it is
easy to find one from the other.
</p>
<p>
The changes in each commit should be easy to read. For example, they
should not unnecessarily change whitespace or indentation. Large,
mechanical changes, such as renaming a file or function, should be put in
separate commits from modifications to code inside that file or function,
so that the latter changes do not get buried and lost in the former.
</p>
<p>
The following principles give the reasoning for all the advice above:
</p>
<list>
<item><p>
Each commit should take the repository from one working state to
another, otherwise
<link href="http://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git#Binary-Search">bisection</link>
is impossible.
</p></item>
<item><p>
Each commit should be individually revertable. If it later turns out
that the commit was a bad idea,
<cmd>git revert <var>commit ID</var></cmd> should take the repository
from a working state to another working state.
</p></item>
<item><p>
The reasoning for each commit, and its relationship to external
resources like specifications and bug reports, should be clear, to the
extent that commits written by one developer a year in the past should
still be understandable by a second developer without having to trace
through the changes and work out what they do.
</p></item>
<item><p>
Each commit should be written once, and designed to be read many times,
by many reviewers and future programmers.
</p></item>
</list>
</section>
<section id="merging-procedure">
<title>Merging Procedure</title>
<p>
To merge a feature branch named <code>my-branch</code> into master, use
the following commands:
</p>
<code mime="application/x-shellscript">
git checkout master
git pull
git checkout wip/<var>my-branch</var>
git rebase --interactive master
# Ensure the rebase is successful; test the changes
git checkout master
git merge wip/<var>my-branch</var>
git push
# wip/<var>my-branch</var> can now be deleted
git push origin :wip/<var>my-branch</var>
git branch -D wip/<var>my-branch</var></code>
</section>
<section id="external-links">
<title>Enlaces externos</title>
<list>
<item><p><link href="https://sethrobertson.github.io/GitBestPractices/">Buenas prácticas de Git</link></p></item>
<item><p><link href="https://help.github.com/categories/using-git/">P+F de Git</link></p></item>
<item><p><link href="https://www.atlassian.com/git/tutorials/">Tutorial de Atlassian sobre git</link></p></item>
<item><p><link href="http://git-scm.com/docs/gittutorial">Tutorial oficial de git</link></p></item>
<item><p><link href="https://try.github.io/">Tutorial interactivo de git</link></p></item>
<item><p><link href="http://www.git-tower.com/learn/">Tutorial de git-tower</link></p></item>
</list>
</section>
</page>
|