Difference between revisions of "Working with git"
(→Update from a repository, if there are local changes:) |
|||
Line 14: | Line 14: | ||
==Update from a repository, if there are local changes:== | ==Update from a repository, if there are local changes:== | ||
git stash | git stash | ||
− | + | Then update as described above | |
git stash pop | git stash pop | ||
If there are no conflicts, you are done. | If there are no conflicts, you are done. |
Revision as of 09:49, 23 November 2011
Contents
- 1 Interacting with a remote repository
- 1.1 Check out a repository:
- 1.2 Find out what changes were made to a remote repository:
- 1.3 Update from a repository, if there are no local uncommitted changes:
- 1.4 Update from a repository, if there are local changes:
- 1.5 Push to a repository:
- 1.6 Create a branch containing the current snapshop of the local repository, including all uncommitted changes, and switch to this branch
- 2 Committing
- 3 Making local changes
- 3.1 Revert an uncommitted change to a file:
- 3.2 Add a file to the repository:
- 3.3 Remove a file from the repository:
- 3.4 Undo adding a file to the repository:
- 3.5 Undo removing a file from the repository, recreating the file manually:
- 3.6 Undo removing a file from the repository, resurrecting the file in the repository:
Interacting with a remote repository
Check out a repository:
git clone <remote-repo-url> <local-repo-name> git clone carpetgit@carpetcode.org:McLachlan McLachlan
Find out what changes were made to a remote repository:
???
Update from a repository, if there are no local uncommitted changes:
git pull
How to merge?
Update from a repository, if there are local changes:
git stash
Then update as described above
git stash pop
If there are no conflicts, you are done. If there are conflicts, handle them, then
git stash drop
since "stash pop" doesn't pop the stash if there are conflicts. "git stash list" shows all stashes. It is not possible to look at the content of a stash (???).
Push to a repository:
Ensure all remote changes have been pulled
git push
Create a branch containing the current snapshop of the local repository, including all uncommitted changes, and switch to this branch
should this maybe be split into two actions: creating a remote branch, and switching to this branch locally?
Committing
Commit a change:
git add <list-of-files-to-commit> git commit
Undo a commit that hasn't propagated yet, keeping all local changes:
??? (probably some variation of "git reset" and "git checkout")
Revert a commit that may have propagated already, keeping all the changes as local modifications:
???
Revert a commit, dropping all changes that it made:
??? (some variation of "git reset")
Making local changes
Revert an uncommitted change to a file:
git checkout -- <file>
Add a file to the repository:
Create file locally
git add <list-of-files-to-add>
Then commit.
Remove a file from the repository:
Delete file locally
git rm <list-of-files-that-were-removed>
(Is there a way to let git determine automatically which files were removed?) Then commit.
Undo adding a file to the repository:
Delete file locally
git reset HEAD <file>
Undo removing a file from the repository, recreating the file manually:
Create file locally
git reset HEAD <file>
Undo removing a file from the repository, resurrecting the file in the repository:
??? (probably a combination of "checkout" and "reset")