git
Table of Contents
1 Git
1.1 To create a repo
on gogs
- git config –global user.name "<gogsusername>@whatever"
- create repo in gogs
on computer
- apt install git
- git clone repo
- touch README.md
- git add -A
- git commit -m "first commit"
- git push origin master
1.2 To collaborate on an existing repo
- Be added as a collaborator
- git clone <repo address (from gogs)>
git checkout -b <branchname>
-b
creates a new branch if one doesn't exist- you can name branch anything, start w/ your gogs name
- make changes
1.3 To push up your changes
git checkout master
git pull origin master
git checkout <branchname>
git merge master
git add -A
- ~git commit -m "concise explanation of what I did"~
git push origin <yourname>
- submit a pull request
Change last commit before pushing: git add [more files] git commit –amend
2 Walkthrough
This little walkthrough uses this repository as an example.
2.1 Cloning
git clone https://irc.anarchyplanet.org/git/AnarchyPlanet/dox
If you added a ssh key already:
git clone git@HOST:user/repo
2.2 Forking
To change a repository you'll need a local copy of it, this is called forking a git repository.
You can do so by clicking on 'Fork' at the top right of the web interface.
2.3 Remotes
Git can manage multiple remote locations called remotes
.
The default remote after cloning is origin
.
This makes sense when cloning your own, if you started with someone else's repository it makes sense to rename it to upstream
:
git remote rename origin upstream
Now add your fork URL:
git remote add origin git@irc.anarchyplanet.org:2222:USER/dox
For this to work you need to define the key file in .ssh/config
:
``` Host AP Hostname irc.anarchyplanet.org User git Port 2222 IdentityFile ~/.ssh/idrsa ```
After this your .git/config should have these sections: ``` [remote "upstream"] url = https://irc.anarchyplanet.org/git/AnarchyPlanet/dox fetch = +refs/heads/*:refs/remotes/upstream/*
[remote "origin"] url = AP:USER/dox fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = upstream merge = refs/heads/master ```
Now you should be able to push:
git push origin branchname --set-upstream origin branchname
Edit this guide: https://irc.anarchyplanet.org/pad/p/dox-git