File: UseGit.rst

package info (click to toggle)
seqan2 2.5.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 228,748 kB
  • sloc: cpp: 257,602; ansic: 91,967; python: 8,326; sh: 1,056; xml: 570; makefile: 229; awk: 51; javascript: 21
file content (124 lines) | stat: -rw-r--r-- 3,506 bytes parent folder | download | duplicates (2)
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
How To: Use Git
---------------

TOC

Getting Started
~~~~~~~~~~~~~~~

Install the command line client, download a GUI and have a look at the
basic Atlassian tutorial.

GUI
^^^

-

   -  `SourceTree <https://www.sourcetreeapp.com>`__ - Windows or MacOS
      X.
   -  `Gitg <https://wiki.gnome.org/Gitg>`__ - Linux/GNOME.

Documentation
^^^^^^^^^^^^^

-

   -  `Atlassian <https://www.atlassian.com/git/tutorial/git-basics>`__
      git tutorials - easy and recommended.
   -  `Official <https://git-scm.com/doc>`__ git manual - complete but
      more advanced.

Clone the SeqAn repository
^^^^^^^^^^^^^^^^^^^^^^^^^^

SeqAn is hosted on `GitHub <https://github.com/seqan/>`__. Execute the
following command to get the last sources:

::

    #html
    <pre class="wiki" style="background-color:black;color:lightgray">
    $ git clone https://github.com/seqan/seqan.git SeqAn

SeqAn Workflow
~~~~~~~~~~~~~~

The SeqAn workflow is based on the
`Gitflow <https://www.atlassian.com/git/workflows#workflow-gitflow>`__
workflow by `Atlassian <https://www.atlassian.com>`__.

Develop a feature in a core module or app
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Follow the
`steps <https://www.atlassian.com/git/workflows#workflow-gitflow>`__ in
“Mary and John begin new features” and “Mary finishes her feature”.

-

   -  Create a new feature
      `branch <https://www.atlassian.com/git/tutorial/git-branches#branch>`__
      based on
      `main <https://github.com/seqan/seqan/tree/main>`__.
   -  Perform your changes and
      `commit <https://www.atlassian.com/git/tutorial/git-basics#commit>`__
      them onto your feature branch.
   -  When the development is complete, push the feature branch to your
      repository on GithHub.
   -  `Create a GitHub pull
      request <https://github.com/seqan/seqan/compare/main>`__ to
      `main <https://github.com/seqan/seqan/tree/main>`__.
   -  Delete your feature branch once it has been merged.

Fix an existing bug in a core module or app
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Follow the
`steps <https://www.atlassian.com/git/workflows#workflow-gitflow>`__ in
“End-user discovers a bug”.

-

   -  Create a new hotfix
      `branch <https://www.atlassian.com/git/tutorial/git-branches#branch>`__
      based on `main <https://github.com/seqan/seqan/tree/main>`__.
   -  Perform your changes and
      `commit <https://www.atlassian.com/git/tutorial/git-basics#commit>`__
      them onto your hotfix branch.
   -  When the fix is read, push your hotfix branch to repository on
      GitHub. Then:

#.

   #. `Create a GitHub pull
      request <https://github.com/seqan/seqan/compare/main>`__ to
      `main <https://github.com/seqan/seqan/tree/main>`__.

| ``    2. ``\ ```Create`` ``a`` ``GitHub`` ``pull``
``request`` <https://github.com/seqan/seqan/compare/main>`__\ `` to ``\ ```main`` <https://github.com/seqan/seqan/tree/main>`__\ ``.``
| ``    3. The pull requests should contain only the commits from your hotfix branch.``

-

   -  Delete your hotfix branch once it has been merged through the pull
      request.

Develop new modules and apps
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Create a new module or app
`branch <https://www.atlassian.com/git/tutorial/git-branches#branch>`__
where to develop your new module or application. The branch should be
based on main.

Rules
~~~~~

-

   -  Never push feature branches to the SeqAn repository.
   -  Sumbit code reviews through GitHub.

.. raw:: mediawiki

   {{TracNotice|{{PAGENAME}}}}