This is an old revision of the document!
Table of Contents
git
Make the clone at the remote repository.
git clone git@github.com:dblume/get-shit-done
git remote add upstream git://github.com/icambridge/get-shit-done
Enter a comment for the commit. See section 2.7.2 here.
git commit -a
Double checking the alias names…
$ git remote -v origin git@github.com:dblume/get-shit-done (fetch) origin git@github.com:dblume/get-shit-done (push) upstream git://github.com/icambridge/get-shit-done (fetch) upstream git://github.com/icambridge/get-shit-done (push)
The push that worked from within the local directory:
git push origin
Make a local clone of an existing remote project
From the parent directory:
git clone https://github.com/realpython/interview-questions.git python-interview cd python-interview
When it's time to commit
1. Check which files are staged for commit.
git status
2. Then, when you're ready to commit locally,
git commit -a -m "Some useful comment"
3. When you're ready to push a local commit to a remote one…
git push -u origin master
or
git push https://github.com/dblume/netflix-dvd-feed
Creating a new remote repository from an existing local one
I created hexbright-factory at https://github.com/new. Then, to create a new repository on the command line at the local computer:
touch README.md git init git add README.md git commit -m "first commit" git remote add origin https://github.com/dblume/hexbright-factory.git git push -u origin master
Creating a new remote repository from an existing local one
I created wine-tasting at https://github.com/new. Then, to create a new repository on the command line at the local computer:
~$ mkdir wine-tasting ~$ cd wine-tasting/ wine-tasting$ vim README.md wine-tasting$ vim LICENSE.txt wine-tasting$ git init wine-tasting$ git add README.md wine-tasting$ git add LICENSE.txt wine-tasting$ git add test.py wine-tasting$ git add wine_allocator.py wine-tasting$ git commit -m "first commit" wine-tasting$ git remote add origin https://github.com/dblume/wine-tasting.git wine-tasting$ git push -u origin master
Renaming branches
Updating both local and remote repos
To rename a remote branch:
- Rename the local one.
- Push the deletion of the old name.
- Push the new name.
- git remote prune origin
When someone else renamed a remote branch:
$ git fetch --all # TODO investigate why fetch $ git remote prune origin # (where origin is the name of the shared repo)
Creating a branch (and possibly pushing to upstream origin)
$ git checkout -b new_branch Switched to a new branch 'new_branch'
That was the same as “git branch new_branch; git checkout new_branch
”
And now if you want to create that branch name at the remote branch, then:
$ git push --set-upstream origin new_branch
Changing a local branch to a new remote branch
This'll work if you don't have a local branch with that name already.
$ git checkout --track origin/branch_name
Making the current local branch track a new remote branch
$ git branch -u origin/branch_name
Updating a local repo after remote's already renamed its branch
git branch -m master main git fetch --all --prune git branch -u origin/main main git remote set-head origin -a
Fixing a bug in its own branch
git checkout -b bugfix/JIRA-1-new-bugfix (fix bugs) git commit -m "fixed bug" git push --set-upstream origin bugfix/JIRA-1-new-bugfix (do a merge/pull request that deletes the original branch at the remote) git checkout main git branch -d bugfix/JIRA-1-new-bugfix git pull
git at dlma.com
I created a remote git repo at dlma like so:
At the server:
git$ mkdir testcode.git git$ cd testcode.git/ testcode.git$ git init --bare
Then, at the local computer:
testcode$ git init Initialized empty Git repository in /home/David/testcode/.git/ testcode$ git add . testcode$ git commit -m "first commit" ... testcode$ git remote add origin ssh://USERNAME@dlma.com/~/git/testcode.git testcode$ git push origin master
I could've used gitweb but I used GitHub-like gitlist at http://git.dlma.com.