Difference between revisions of "Using Git Example"
From Genome Analysis Wiki
Jump to navigationJump to searchLine 60: | Line 60: | ||
== Add Files to the Repository == | == Add Files to the Repository == | ||
− | This will create a couple of files in | + | This will create a couple of files in the learningGit repository. |
− | |||
− | |||
{| border="1" | {| border="1" | ||
Line 68: | Line 66: | ||
=== Create the New Files === | === Create the New Files === | ||
These steps create README.txt and README1.txt in ~/code/learnGit/learningGit/. | These steps create README.txt and README1.txt in ~/code/learnGit/learningGit/. | ||
+ | |||
+ | The files will not show up in ~/code/learnGit/learningGit2/. | ||
# Move to the ~/code/learnGit/learningGit | # Move to the ~/code/learnGit/learningGit | ||
Line 89: | Line 89: | ||
===Stage the files=== | ===Stage the files=== | ||
This step stages the addition of README.txt and README1.txt in ~/code/learnGit/learningGit/. | This step stages the addition of README.txt and README1.txt in ~/code/learnGit/learningGit/. | ||
+ | |||
+ | The files will not show up in ~/code/learnGit/learningGit2/. | ||
# Move back to the learningGit directory | # Move back to the learningGit directory | ||
Line 109: | Line 111: | ||
=== Commit the Files === | === Commit the Files === | ||
This step stores README.txt and README1.txt in the local repository. | This step stores README.txt and README1.txt in the local repository. | ||
+ | |||
+ | The files will not show up in ~/code/learnGit/learningGit2/. | ||
# Move back to the learningGit directory | # Move back to the learningGit directory | ||
Line 129: | Line 133: | ||
=== Push the files to the bare repository === | === Push the files to the bare repository === | ||
This step pushes the files to the bare repository. | This step pushes the files to the bare repository. | ||
+ | |||
+ | The files will show up in ~/code/learnGit/learningGit2/. | ||
# Move back to the learningGit directory | # Move back to the learningGit directory | ||
Line 147: | Line 153: | ||
The files are now stored in the bare repository, so any new repositories that are clone from it will see the files. | The files are now stored in the bare repository, so any new repositories that are clone from it will see the files. | ||
|[[Image:GitPush.png]] | |[[Image:GitPush.png]] | ||
+ | |} | ||
+ | |||
+ | == Update Files in the Repository == | ||
+ | This will make updates to the learningGit repositories. | ||
+ | |||
+ | {| border="1" | ||
+ | |valign="top"| | ||
+ | === Modify the Files === | ||
+ | These steps update README.txt in ~/code/learnGit/learningGit/. | ||
+ | |||
+ | # Move to the ~/code/learnGit/learningGit | ||
+ | # Look at the current status to see nothing. | ||
+ | # Modify README.txt | ||
+ | # Look at the git status to see the changed file. | ||
+ | # Look at the changes. | ||
+ | cd ~/code/learnGit/learningGit | ||
+ | git status | ||
+ | echo AccidentallyOverwrote > README.txt | ||
+ | git status | ||
+ | git diff | ||
+ | |||
+ | |[[Image:GitUpdateFile.png]] | ||
+ | |- | ||
+ | |valign="top"| | ||
+ | ===Stage the Modified File === | ||
+ | This step stages the modification of README.txt in ~/code/learnGit/learningGit/. | ||
+ | |||
+ | # Stage the file | ||
+ | # Look at the git status to see the staged file. | ||
+ | # Look at the diffs, there are no differences | ||
+ | git add README.txt | ||
+ | git status | ||
+ | git diff | ||
+ | |||
+ | |[[Image:GitStagedUpdateFile.png]] | ||
+ | |- | ||
+ | |valign="top"| | ||
+ | === Unstage the File === | ||
+ | This step unstages the modification to README.txt. | ||
+ | |||
+ | # Unstage the file | ||
+ | # Look at the git status to see the unstaged file | ||
+ | # Look at the diffs (they are back). | ||
+ | git reset HEAD README.txt | ||
+ | git status | ||
+ | git diff | ||
+ | |||
+ | |[[Image:GitUnstage.png]] | ||
+ | |- | ||
+ | |valign="top"| | ||
+ | === Undo the Modifications === | ||
+ | This step undoes the modifications to README.txt. | ||
+ | |||
+ | # Look at README.txt | ||
+ | # Undo the modification | ||
+ | # Check the status | ||
+ | # Check the diffs | ||
+ | # Look at README.txt | ||
+ | cat README.txt | ||
+ | git checkout -- README.txt | ||
+ | git status | ||
+ | git diff | ||
+ | cat README.txt | ||
+ | |||
+ | |[[Image:GitUndoMod.png]] | ||
|} | |} |
Revision as of 09:57, 8 July 2011
Create new Bare Repository
Create Working Repositories
For this example, we are going to create 2 working repositories.
This is so you can see how changes don't affect the other repositories unless pushes & pulls are done.
Create a Working RepositoryThese steps will create a new working repository called learningGit in ~/code/learnGit/ that is a clone of ~/code/learnGit/bareRepo/learningGit.
cd ~/code/learnGit git clone ~/code/learnGit/bareRepo/learningGit cd learningGit ls -a |
|
Create a Second Working RepositoryThese steps will create a second working repository called learningGit2 in ~/code/learnGit/ that is a clone of ~/code/learnGit/bareRepo/learningGit.
cd ~/code/learnGit git clone ~/code/learnGit/bareRepo/learningGit learningGit2 cd learningGit2 ls -a |
Add Files to the Repository
This will create a couple of files in the learningGit repository.
Update Files in the Repository
This will make updates to the learningGit repositories.