diff --git a/org/git.org b/org/git.org index 4a4d9cf..d270bc1 100644 --- a/org/git.org +++ b/org/git.org @@ -17,9 +17,9 @@ 1. Be added as a collaborator 2. git clone 3. ~git checkout -b ~ - - ~-b~ yocreates a new branch if one doesn't exist + - ~-b~ creates a new branch if one doesn't exist - you can name branch anything, start w/ your gogs name - 4. make changes + 4. make changes ** To push up your changes 1. ~git checkout master~ @@ -31,6 +31,63 @@ 7. ~git push origin ~ 8. submit a pull request + Change last commit before pushing: + git add [more files] + git commit --amend +* Walkthrough +This little walkthrough uses this repository as an example. +** Cloning + +~git clone https://irc.anarchyplanet.org/git/AnarchyPlanet/dox~ + +If you added a ssh key already: +~git clone git@HOST:user/repo~ + +** 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. + +** 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/id_rsa +``` + +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~