Upload
konrad-malawski
View
1.403
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Andrzej Grzesik Konrad Malawski LunarLogicPolska
Ask them right away!
a distributed open source version control system
is also fast reliable powerful popular
• it is too new • not tested • does not provide backups (sic!) • does not like windows • does not support ... • it's not subversion
Git is "simple" but hard. Subversion is "easy", but eventually complex.
Thomas Nicolaisen (http://blog.tfnico.com/2011/11/some-thoughts-on-git-vs-complexity.html)
git config --global user.name Sheldon Cooper git config --global user.email [email protected] git config --global color.ui true
• cherry-pick • rebase (interactive) • interactive add • submodules • git svn • git sh
# initialize a submodule git submodule add git://llp.pl/common.git common
# initial pull of it's contents git submodule init
# pull pointed to commit (and overwrite your changes) git submodule update
cd common
git pull
cd ..
# Warning! Add the dir without trailing "/” git add common
git commit -m "Latest common submodule commit"
... or "Why merge isn't enough?"
https://github.com/ktoso/maven-git-commit-id-plugin
Keeping commit info in UI of the running app, results in better (or less!) bug reports :-)
{ "branch" : "testing-maven-git-plugin", "commitTime" : "06.01.1970 @ 16:16:26 CET", "commitId" : "787e39f61f99110e74deed68ab9093088d64b969", "commitIdAbbrev" : "787e39f", "commitUserName" : "Konrad Malawski", "commitUserEmail" : "[email protected]", "commitMessageFull" : "releasing my fun plugin :-) + fixed some typos + cleaned up directory structure + added license etc", "commitMessageShort" : "releasing my fun plugin :-)", "buildTime" : "06.01.1970 @ 16:17:53 CET", "buildUserName" : "Konrad Malawski", "buildUserEmail" : "[email protected]" }
Or expose full details, for developers only
@Inject GitRepositoryState repoState;
@GET @Path("/git") public GitRepositoryState getRepoState() { return repoState; }
De facto standard of viewing git-based repositories
Just point it to the repo
Works through Apache and CGI
simple, read/write permissions per-repository
ssh-key based authentication
but it's trivial to expose config file via f.ex. Grails frontend
online code review (like ReviewBoard, but better ;-))
also hosts git repositories review commits before they enter a branch
with some help by the power of Jenkins, allows to have pre-tested commits
Git immersion: http://library.edgecase.com/git_immersion/index.html
On branching with Git http://nvie.com/posts/a-successful-git-branching-model/
Pro Git book (creative commons) www.progit.org
Git-scm.com Git.wiki.kernel.org