Development using git with write access: Difference between revisions
(configure 'git push' for distributed workflows) |
(→Upload the new project: Changed path when uploading a project. Cgit looks for /home/user/cgit for projects to publish) |
||
Line 43: | Line 43: | ||
{{Cmd|<nowiki>cd .. | {{Cmd|<nowiki>cd .. | ||
git clone --bare acf-mystuff acf-mystuff.git | git clone --bare acf-mystuff acf-mystuff.git | ||
scp -r acf-mystuff.git user@dev.alpinelinux.org:</nowiki>}} | echo "My acf-mystuff repo" > acf-mystuff.git/description | ||
echo "section=Developer user" > acf-mystuff.git/cgitrc | |||
scp -r acf-mystuff.git user@dev.alpinelinux.org:cgit/</nowiki>}} | |||
{{Note|The 'description' and 'cgitrc' are needed to make cgit publish information about your repo}} | |||
More details found when reading [[Publish developer repositories on cgit]]. |
Revision as of 04:47, 1 March 2011
This document is for developer who has ssh login and write access to the git repositories.
Personal settings
Unless you already done so, start by setting up name and email address for the git commits.
git config --global user.name "Your Full Name" git config --global user.email "your@email.example.com"
Git Clone
Some examples:
git clone ssh://username@git.alpinelinux.org/gitroot/acf-core git clone ssh://username@git.alpinelinux.org/gitroot/pingu
Git Push (Distributed Workflows)
If working with Distributed Workflows you would 'pull' from public repo, 'push' to another publically accessable repo (where you have write access), main developer (who has write access to public repo) 'pulls' you changes from your pub.accessed.repo into the public repo.
To make it easier for you to work, you can configure 'git push' to push your work to your publically accessable repo ('git pull' would still pull from same repo as you cloned from).
cd /your/private/repo/where/you/work/reponame git config remote.origin.pushurl "ssh://user@dev.alpinelinux/home/user/cgit/reponame.git"
Now 'git pull' pulls the public repo, and 'git push' pushes to your public repo.
Git Tag
Create an annotated tag and push it.
git tag -a tagname -m'commit message (e.g release 1.x)' git push && git push --tags
Create new project
Create your own dir that you want to become your new acf-mystuff project.
mkdir
Create your files and add/commit them to your git-project {{git add ./ git commit}}
Upload the new project
cd .. git clone --bare acf-mystuff acf-mystuff.git echo "My acf-mystuff repo" > acf-mystuff.git/description echo "section=Developer user" > acf-mystuff.git/cgitrc scp -r acf-mystuff.git user@dev.alpinelinux.org:cgit/
More details found when reading Publish developer repositories on cgit.