Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic Git commands #39

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 139 additions & 0 deletions content/posts/Basic Git commands
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
Basic Git commands

Here is a list of some basic Git commands to get you going with Git.

For more detail, check out the Atlassian Git Tutorials for a visual introduction to Git commands and workflows, including examples.

1) Tell Git who you are.

Configure the author name and email address to be used with your commits.
Note that Git strips some characters (for example trailing periods) from user.name.

git config --global user.name "Sam Smith"
git config --global user.email [email protected]


2) Create a new local repository

git init

3) Check out a repository

Create a working copy of a local repository:
git clone /path/to/repository

For a remote server, use:
git clone username@host:/path/to/repository

4) Add files

Add one or more files to staging (index):
git add <filename>

git add *

5) Commit

Commit changes to head (but not yet to the remote repository):
git commit -m "Commit message"

Commit any files you've added with git add, and also commit any files you've changed since then:
git commit -a

6) Push

Send changes to the master branch of your remote repository:
git push origin master

7) Status

List the files you've changed and those you still need to add or commit:
git status

8) Connect to a remote repository

If you haven't connected your local repository to a remote server, add the server to be able to push to it:
git remote add origin <server>

List all currently configured remote repositories:
git remote -v

9) Branches

Create a new branch and switch to it:
git checkout -b <branchname>

Switch from one branch to another:
git checkout <branchname>

List all the branches in your repo, and also tell you what branch you're currently in:
git branch

Delete the feature branch:
git branch -d <branchname>

Push the branch to your remote repository, so others can use it:
git push origin <branchname>

Push all branches to your remote repository:
git push --all origin

Delete a branch on your remote repository:
git push origin :<branchname>

10) Update from the remote repository

Fetch and merge changes on the remote server to your working directory:
git pull

To merge a different branch into your active branch:
git merge <branchname>

View all the merge conflicts:
git diff

View the conflicts against the base file:
git diff --base <filename>

Preview changes, before merging:
git diff <sourcebranch> <targetbranch>

After you have manually resolved any conflicts, you mark the changed file:
git add <filename>

11) Tags

You can use tagging to mark a significant changeset, such as a release:
git tag 1.0.0 <commitID>

CommitId is the leading characters of the changeset ID, up to 10, but must be unique. Get the ID using:
git log

Push all tags to remote repository:
git push --tags origin

12) Undo local changes

If you mess up, you can replace the changes in your working tree with the last content in head:
git checkout -- <filename>
Changes already added to the index, as well as new files, will be kept.

Instead, to drop all your local changes and commits, fetch the latest history from the server and point your local master branch at it, do this:
git fetch origin
git reset --hard origin/master

13) Search

Search the working directory for foo():
git grep "foo()"


Atlassian Git Tutorial