Git usage notes
This document contains some useful notes for those wanting to start using Git with the GiellaLT infra (when we have moved to GitHub, planned for May 2020).
Subversion (svn) checkout and commits
Checktout
To get the regular repo dir, you will normally want to check out using a URL following this pattern:
svn co https://github.com/username/reponame.git/trunk reponame
The important part here is to append /trunk to the repo URL, so that you
avoid getting all branches and tags (unless you really want to work with them of
course). Then it is also useful to specify the plain reponame at the end, to
give the local folder a short and readable name.
Commits & authentication
The first time commit requires authentication (which is then cached for future use). Unless you have set up a Personal Access Token, you specify the username and password in the regular way:
- username: your github username
- password: your github password
Of course you need write access to the repo you are trying to commit to.
Personal Access Token
If you have configured a Personal Access Token instead of the username and password, you provide the token in place of the username, and an empty password. That’s it! Also in this case the provided value will be cached for future use, so there will normally not be necessary to input the token again - everything works smoothly without a question.
Basic stuff
Clients:
- CLI - archane and with many pitfalls, avoid it if you are not sure what you are doing - really sure
- GUI: ** Tower is one of the best, but is proprietary and cost money. There’s an option for getting it for free for academic institutions. If that is not possible, it is still very much worth the money.
Advanced topics
merge vs rebase
See this thread, epsecially the answers by Pace, Andrew Arnott (with link to an archived post by Linus Torvalds) and Abdullah Khan (with link to a git-tower explanation which is also veory useful).