Notes about Git: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 4: | Line 4: | ||
* Branches | * Branches | ||
** in my own words: working with branches is central to git; some people make a branch for each feature they are working on; I think each developer should have his own branch, and merge to master as often as possible; you can have local and remote branches; it would make sense to create a local branch, and then push it to the server creating a remote branch. | |||
** http://sites.google.com/a/insoshi.com/insoshi-guides/Git-Guides/working-on-a-local-development-branch | ** http://sites.google.com/a/insoshi.com/insoshi-guides/Git-Guides/working-on-a-local-development-branch | ||
** http://blog.hasmanythrough.com/2008/12/18/agile-git-and-the-story-branch-pattern | ** http://blog.hasmanythrough.com/2008/12/18/agile-git-and-the-story-branch-pattern |
Revision as of 15:14, 27 August 2009
Manuals
- Crash Course: http://git.or.cz/course/svn.html
- User Manual for Git: http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
- Branches
- in my own words: working with branches is central to git; some people make a branch for each feature they are working on; I think each developer should have his own branch, and merge to master as often as possible; you can have local and remote branches; it would make sense to create a local branch, and then push it to the server creating a remote branch.
- http://sites.google.com/a/insoshi.com/insoshi-guides/Git-Guides/working-on-a-local-development-branch
- http://blog.hasmanythrough.com/2008/12/18/agile-git-and-the-story-branch-pattern
- http://sites.google.com/a/insoshi.com/insoshi-guides/Git-Guides/merge-vs-rebase
TortoiseGit
This works fine on Windows, although it is still work in progress...
It requires "Git on Windows" http://code.google.com/p/msysgit/; be careful: use the official git installer from that site, eg. Git-1.6.3.2-preview20090608.exe, not the fullinstaller or other packages.
Git Bash
- You need to add each changed file before you commit. Otherwise that file will not be part of the next commit.
- If you added too many files by accident, and you want to lose them completely: (use this carefully with -f) git rm . -r
- even better: to unstage: git reset HEAD <file>...
- undo all local changes:
git checkout -f
- to revert a single file: use
git checkout filename
(see http://norbauer.com/notebooks/code/notes/git-revert-reset-a-single-file) - to ignore eg. *.bak files, create a file .gitignore and add the files; eg see OpenPetra/csharp/.gitignore