Using Git Example: Difference between revisions
From Genome Analysis Wiki
Jump to navigationJump to search
No edit summary |
|||
| Line 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.










