Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
contribute:dev:git:userrepos [2017/02/05 01:18] – [Push to a private repository] ochosi | contribute:dev:git:userrepos [2019/09/08 02:53] – kevinbowen | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | Contributors now have the possibility | + | Contributors now have the ability |
users/ | users/ | ||
- | This is useful when you have no permission to commit upstream directly or you want to work on some code privately without bothering other. Compared to upstream repositories, | + | This is useful when you do not have permission to commit upstream directly or you want to work on some code privately without bothering other developers. Compared to upstream repositories, |
* You can create any branch name and delete them | * You can create any branch name and delete them | ||
- | * Possible | + | * It is possible |
* You can decide which other users have write access to your repository as well, see below | * You can decide which other users have write access to your repository as well, see below | ||
- | * No notification emails are send to the xfce4-commits mailing list | + | * No notification emails are sent to the xfce4-commits mailing list |
- | So also for developers with up-stream access rights, it is always advised to work on large patches in a user repository first. | + | As with developers with up-stream access rights, it is always advised to work on large patches in a user repository first. |
< | < | ||
Line 19: | Line 19: | ||
===== Push to a private repository ===== | ===== Push to a private repository ===== | ||
- | Most often you will continue from the upstream repository and then push your changes on top of that to your user repo branch. If so follow the steps below: | + | Most often you will continue from the upstream repository and then push your changes on top of that to your user repo branch. If so, follow the steps below: |
<file bash> | <file bash> | ||
Line 30: | Line 30: | ||
# create a new branch | # create a new branch | ||
# note we give the local branch name a different name so you can see to which remote it points | # note we give the local branch name a different name so you can see to which remote it points | ||
- | git checkout -b private-bug-1234 --track private/bug-1234 | + | git checkout -b private-bug-1234 |
# improve the code and make commits | # improve the code and make commits | ||
Line 38: | Line 38: | ||
git push -u private private-bug-1234 | git push -u private private-bug-1234 | ||
</ | </ | ||
+ | |||
+ | Then, wait for a few minutes for the git repo to be available on https:// | ||
===== Repository maintenance ===== | ===== Repository maintenance ===== | ||
- | There are a couple of commands for gitolite to maintain your private repository. | + | There are a couple of commands for gitolite |
+ | |||
+ | |||
+ | ==== Fast forward ==== | ||
+ | |||
+ | Note that you can't use non fast-forward pushes. However in user branches, you can remove, then repush your work. | ||
+ | |||
+ | <file bash> | ||
+ | git push user :branch ; git push user branch | ||
+ | </ | ||
==== Give other users write access ==== | ==== Give other users write access ==== | ||
- | By default you are the only user with write access to the repository. To allow others to push changes as well (they can only push forward commits, and have no rights to create and delete), use this command: | + | By default, you are the only user with write access to the repository. To allow others to push changes as well (they can only push forward commits, and have no rights to create and delete), use the following |
<file bash>ssh git@git.xfce.org perms users/ | <file bash>ssh git@git.xfce.org perms users/ | ||
- | The same command as above but with the minus-sign | + | To revoke permissions, |
+ | <file bash>ssh git@git.xfce.org perms users/ | ||
For more options, like listing permissions, | For more options, like listing permissions, | ||
Line 55: | Line 67: | ||
<file bash>ssh git@git.xfce.org perms -h</ | <file bash>ssh git@git.xfce.org perms -h</ | ||
- | ==== Delete | + | ==== Deleting |
- | If you finished work in your user repository and it' | + | If you finished work in your user repository and it has been merged |
<file bash>ssh git@git.xfce.org D -h</ | <file bash>ssh git@git.xfce.org D -h</ | ||
- | As an example you can delete the xfwm4 repository we created earlier as follows: | + | For example, you can delete the xfwm4 repository we created earlier as follows: |
<file bash># unlock the repository to allow deletion | <file bash># unlock the repository to allow deletion |