You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: en/book/04-git-server/chapter4.asc
+35-7Lines changed: 35 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -665,6 +665,7 @@ Removing a user can be done in two ways.
665
665
``Destroying'' a user, on the other hand, completely removes them from the database and filesystem. All projects and data in their namespace is removed, and any groups they own will also be removed.
666
666
This is obviously a much more permanent and destructive action, and its uses are rare.
667
667
668
+
[[_gitlab_groups_section]]
668
669
===== Groups
669
670
670
671
A GitLab group is an assemblage of projects, along with data about how users can access those projects.
@@ -710,16 +711,43 @@ This is typically used for system status information (_"The server will be under
710
711
711
712
==== Basic Operation
712
713
713
-
* Creating a project
714
-
* Connecting with git
715
-
* Web UI
714
+
The first thing you'll want to do with GitLab is create a new project.
715
+
This is accomplished by clicking the ``+'' icon on the toolbar.
716
+
You'll be asked for the project's name, which namespace it should belong to, and what its visibility level should be.
717
+
Most of what you specify here isn't permanent, and can be re-adjusted later through the settings interface.
718
+
Click ``Create Project'', and you're done.
719
+
720
+
Once the project is created, you'll probably want to connect it with a local Git repository.
721
+
Each project is accessible over HTTPS or SSH, either of which can be used to configure a Git remote.
722
+
The URLs are visible at the top of the project's home page.
723
+
For an existing local repository, this command will create a remote named `gitlab` to the hosted location:
724
+
725
+
git remote add gitlab <url>
726
+
727
+
If you don't have a local copy of the repository, you can simply do this:
728
+
729
+
git clone <url>
730
+
731
+
732
+
The web UI provides access to many useful views of the repository itself.
733
+
Each project's home page shows recent activity, and links along the top will lead you to views of the project's files and commit log.
716
734
717
735
==== Working Together
718
736
719
-
* Collaborators
720
-
* Forks
721
-
* Merge Requests
722
-
* Issues
737
+
The most basic way of working together on a GitLab project is by giving another user direct push access to the git repository.
738
+
You can add another user to a project by going to the ``Members'' section of that project's settings, and associating the new user with an access level (the different access levels are discussed a bit in <<_gitlab_groups_section>>).
739
+
By giving a user an access level of ``Developer'' or above, that user can push commits and branches directly to the repository with impunity.
740
+
741
+
Another, more isolated way of collaboration is by using merge requests.
742
+
This feature enables any user that can see a project to contribute to it in a controlled way.
743
+
Users with direct access can simply create a branch, push commits to it, and open a merge request from their branch back into `master` or any other branch.
744
+
Users who don't have push permissions for a repository can ``fork'' it (create their own copy), push commits to _that_ copy, and open a merge request from their fork back to the main project.
745
+
This model allows the owner to be in full control of what goes into the repository and when, while allowing contributions from untrusted users.
746
+
747
+
Merge requests and issues are the main units of long-lived discussion in GitLab.
748
+
Each merge request allows a line-by-line discussion of the proposed change, as well as a general overall discussion thread.
749
+
Both can be assigned to users, or organized into milestones.
0 commit comments