docs:git:git_walkthrough

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docs:git:git_walkthrough [2012/09/21 23:48] billhdocs:git:git_walkthrough [2012/10/09 14:30] (current) billh
Line 21: Line 21:
 git init git init
 </code> </code>
-  * (notice that a .git directory will be created at project root)+  * :!: (notice that a .git directory will be created at project root) 
 +    * git is cool - the complete repository (all history) is stored inside this .git directory 
 +    * even if you clone a repository from someone else, you have the full history available to work with - no further connection with them is required, unless you want future updates or to share code together 
 +  * **IF YOU ARE USING CYGWIN ON WINDOWS...**<code> 
 +git config core.filemode false 
 +</code> 
 +    * this tells git to ignore filemode permissions which do not work correctly on a non-unix host; if you don't do this, git will always complain that you are changing file permissions when you did nothing
   * add all content to the index (some call it the cache, it means what is staged for the next commit)<code>   * add all content to the index (some call it the cache, it means what is staged for the next commit)<code>
 git add . git add .
Line 32: Line 38:
 git commit -a git commit -a
  
-(the -a switch will tell git to add and commit all changed files; +the -a switch will tell git to add and commit all changed files; 
-if any were added, you would need to do git add for those)+  if any were added, you would need to do git add for those 
 + 
 +* when the -m switch is used, you specify the commit message here 
 +  on the command line; when it is ommitted, your default editor 
 +  (probably vimwill open
 </code> </code>
   * create an experimental branch<code>   * create an experimental branch<code>
Line 88: Line 98:
   * view diff of changes<code>   * view diff of changes<code>
 git diff git diff
 +</code>
 +  * if you have already staged some changes, git diff will not show them.  To see what the diff is with the staged changes, you need to do this:<code>
 +git diff --cached
 </code> </code>
   * contrary to svn, where we would run svn revert <filename>, when using git we use git checkout <filename or path> to restore the last commited state of a file, and lose any working copy changes   * contrary to svn, where we would run svn revert <filename>, when using git we use git checkout <filename or path> to restore the last commited state of a file, and lose any working copy changes
Line 95: Line 108:
 </code> </code>
   * to "go back in time" and review a project at the point of a previous commit, you can do so by creating a branch at that point and then checking it out<code>   * to "go back in time" and review a project at the point of a previous commit, you can do so by creating a branch at that point and then checking it out<code>
-git branch old 53067 +git checkout -b old 53067
-git checkout 53067+
  
 (when finished, delete the branch) (when finished, delete the branch)
  • docs/git/git_walkthrough.1348292910.txt.gz
  • Last modified: 2012/09/21 23:48
  • by billh