Changes for page Getting Started with Git
Last modified by Bastian Triller on 2013/05/21 17:24
To version 215.1
edited by Bastian Triller
on 2013/04/21 15:06
on 2013/04/21 15:06
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. kieran1 +XWiki.btriller - Content
-
... ... @@ -16,6 +16,7 @@ 16 16 ** Scott Chacon (of GitHub) Video Intro [[http://www.youtube.com/watch?v=ZDR433b0HJY]] 17 17 ** [[This>>http://www.eecs.harvard.edu/~~cduan/technical/git/]] is an excellent tutorial on the basic concepts behind Git 18 18 ** [[Git for Computer Scientists>>http://eagain.net/articles/git-for-computer-scientists/]] gives another good view on the underlying concepts 19 +** [[Git For Ages 4 And Up>>https://lca2013.linux.org.au/wiki/Tutorials/Git_For_Ages_4_And_Up]]: video tutorial ([[mp4>>http://mirror.internode.on.net/pub/linux.conf.au/2013/mp4/Git_For_Ages_4_And_Up.mp4]], [[YouTube>>http://www.youtube.com/watch?v=1ffBJ4sVUb4]]) 19 19 * Learn the basics. 20 20 ** [[Everyday GIT With 20 Commands Or So>>http://schacon.github.com/git/everyday.html]] 21 21 ** [[Free Online Pro Git book>>http://progit.org/book/]] ... ... @@ -110,6 +110,14 @@ 110 110 * During setup, gitolite creates the file /.ssh/authorized//keys in the gitolite user account. Ensure it has permissions of 600. If not change it// 111 111 * If other system users such as apache, chiliproject or redmine need [[read access to the gitolite repositories to allow integration>>http://www.giocc.com/public-repositories-in-gitolite-with-umasks.html]], then you probably want to change the $REPO//MASK configuration value from 0077 to 0027 in the [[gitolite configuration file>>http://sitaramc.github.com/gitolite/rc.html]]// 112 112 114 +=== Gitlab - Self hosted Git management software === 115 + 116 +From the [[Gitlab>>http://gitlab.org/]] homepage: 117 + 118 +GitLab is a fast, secure and stable solution to manage your projects. 119 +It is based on Ruby on Rails and has a free and open-source license (MIT). 120 +GitLab is the most installed git management application in the world. 121 + 113 113 = Unique Git Concepts = 114 114 115 115 === Rebasing === ... ... @@ -171,3 +171,19 @@ 171 171 git reset --hard 172 172 173 173 {{/code}} 183 + 184 +=== Stash to Clean and Checkout from Stash to Work === 185 + 186 +Say that you have several different things going on in your project at any one time. How can you seperate them to check something in? You know about the "git stash" command, which cleans up your project. But what if you want part of the dirtiness, but not all of it? 187 + 188 +Suppose you have file1.java, file2.java, file3.java, and file4.java. You have a single feature implemented in file1.java and file3.java and those edits stand on their own. If you are going to check in just file1.java and file3.java, you should test them on their own, without your other changes. First, do a "git stash". A "git status" will show you have no staged changes. Now do: 189 + 190 +{{code}} 191 + 192 +git checkout stash@{0} -- file1.java 193 +git checkout stash@{0} -- file3.java 194 + 195 +{{/code}} 196 + 197 +Now you have your two files and not the others and you can build and test them in a clear project before you check them in 198 +One odd thing I noticed is this. The "git diff" you were doing before the stash will show your changes. Now you have to do "git diff HEAD". Not completely sure why, but there it is.