Log dialog can revert selected files to parent revision
[TortoiseGit.git] / doc / source / en / TortoiseGit / tsvn_dug / dug_branchtag.xml
blob34f68502f9d92ef52303c7d70e957cceaf958682
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!DOCTYPE sect1 SYSTEM "../../../dtd/dblite.dtd">\r
3 <sect1 id="tsvn-dug-branchtag" xmlns:xi="http://www.w3.org/2001/XInclude">\r
4         <title>Branching / Tagging</title>\r
5         <indexterm>\r
6                 <primary>branch</primary>\r
7         </indexterm>\r
8         <indexterm>\r
9                 <primary>tag</primary>\r
10         </indexterm>\r
11         <indexterm>\r
12                 <primary>mark release</primary>\r
13         </indexterm>\r
14         <?dbhh topicname="HIDD_NEW_BRANCH_TAG"?>\r
15         <para>\r
16                 One of the features of version control systems is the ability\r
17                 to isolate changes onto a separate line of development.\r
18                 This line is known as a <firstterm>branch</firstterm>.\r
19                 Branches are often used to try out new features without\r
20                 disturbing the main line of development with compiler\r
21                 errors and bugs. As soon as the new feature is stable enough\r
22                 then the development branch is <firstterm>merged</firstterm>\r
23                 back into the main branch.\r
24         </para>\r
25         <para>\r
26                 Another feature of version control systems is the ability\r
27                 to mark particular revisions (e.g. a release version),\r
28                 so you can at any time recreate a certain build or\r
29                 environment. This process is known as <firstterm>tagging</firstterm>.\r
30         </para>\r
31         <para>\r
32                 Git is very powerfull at branch and tag. It is very easy to create branch\r
33                 and tag.\r
34         </para>\r
35         <sect2 id="tsvn-dug-branch-1">\r
36                 <title>Creating a Branch or Tag</title>\r
37                 <para>\r
38                         Creating a branch is very simple:\r
39                         <menuchoice>\r
40                                 <guimenu>TortoiseGit</guimenu>\r
41                                 <guimenuitem>Create Branch...</guimenuitem>\r
42                         </menuchoice>\r
43                         <figure id="tsvn-dug-branchtag-dia-1">\r
44                                 <title>The Branch Dialog</title>\r
45                                 <graphic fileref="../images/Branch.png"/>\r
46                         </figure>\r
47                 </para>\r
48                 <para>\r
49                         <guilabel>Branch:</guilabel> input your branch name. \r
50                 </para>\r
51                 <para>\r
52                         Creating a tag is very simple:\r
53                         <menuchoice>\r
54                                 <guimenu>TortoiseGit</guimenu>\r
55                                 <guimenuitem>Create Tag...</guimenuitem>\r
56                         </menuchoice>\r
57                         \r
58                         <figure id="tsvn-dug-branchtag-dia-2">\r
59                                 <title>The Tag Dialog</title>\r
60                                 <graphic fileref="../images/Tag.png"/>\r
61                         </figure>\r
62                         \r
63                 </para>\r
64                 <para>\r
65                         <guilabel>Tag:</guilabel> input your tag name. \r
66                 </para>\r
67                 <para>\r
68                         You can choose one commit that base on. \r
69                         <xi:include href="./dug_chooseversion.xml"/> \r
70                 </para>\r
71                 <para>\r
72                         If you want your working tree to be switched to the newly created\r
73                         branch automatically, use the\r
74                         <guilabel>Switch to new branch/tag</guilabel> checkbox.\r
75                         But if you do that, first make sure that your working tree does not\r
76                         contain modifications. If it does, those changes will be merged into\r
77                         the branch working tree when you switch.\r
78                 </para>\r
79                 <para>\r
80                         <guilabel>track</guilabel> is a checkbox with three values. If it is checked\r
81                         <literal>--track</literal> is passed to git on <guilabel>OK</guilabel>, if it is\r
82                         unchecked <literal>--no-track</literal> is passed to git on <guilabel>OK</guilabel>.\r
83                         The third state indicates, that neither <literal>--track</literal> nor <literal>--no-track</literal>\r
84                         is passed to git on <guilabel>OK</guilabel> - see branch.autosetupmerge configuration variable\r
85                         (<xref linkend="git-config(1)"/>) and --track parameter documentation for <xref linkend="git-branch(1)"/>.\r
86                 </para>\r
87                 <para>\r
88                         Check <guilabel>Sign</guilabel> to create a signed tag. This requires GPG\r
89                         and a key <emphasis>without</emphasis> a passphrase.\r
90                 </para>\r
91                 <para>\r
92                         Press <guibutton>OK</guibutton> to create branch or tag at  \r
93                         <emphasis>local repository</emphasis>.\r
94                 </para>\r
95                 <para>\r
96                         Note that unless you opted to switch your working tree to the newly\r
97                         created branch, creating a Branch or Tag does <emphasis>not</emphasis>\r
98                         affect your working tree. Even if you create the branch from your working tree,\r
99                         those changes are committed to the original branch, not to the new branch.\r
100                 </para>\r
101                 <para>\r
102                         How to switch working tree to tag\branch,\r
103                         please refer to <xref linkend="tsvn-dug-checkout"/> \r
104                 </para>\r
105         </sect2>\r
106         <para>\r
107                 You can find more information at <xref linkend="git-branch(1)"/> and <xref linkend="git-tag(1)"/>\r
108         </para>\r
109 </sect1>\r