Git command

Crash Course

Most simple and useful

Conceptual Model

More detail here

Removing Files

Option1-Manually

If you modify file, and commit it. Now you want to delete the file on Git and working directory, usegit rm <file> to remove file from working directory and stage, then git commit.The removing action would be recorded as a new commit.

git rm <file>
git commit -m "<comment>"
git push origin master

Option 2

If you commit new files, and want to remove them all, just to find the commit that doesn't contain these files. Use the following code:

git reset --hard <commit hash>
git push --force origin master

The first line of code get reset...repoint HEAD to the commit mentioned, copy file to stage, and refresh working directory according to it. The action would cause "your branch behind origin/ master", so you can't just git push to remote repository, must use git push --force.

More detail here

Unmodifying a Modified File

You could use the code to cancel the uncommitted modification: git checkout -- <file>. It copy the file on stage to cover working directory. git checkout -- . With a dot, it cancel all the uncommitted modification.

Unstaging a Staged File

If you add file to stage mistakenly, use code git reset HEAD <file> to unstage. It would copy the file on commit and thus cover the file on stage.

Command of refreshing local gitbook command to remote

#first refresh remote change to local 
git pull
#add local change to remote
git add *
git commit -m "code info"
git push origin master

Usual commands

  • Creating repo:

      git init
  • Clone repo:

    • local:

        git clone /path/to/repository
    • remote:

        git clone username@host: /path/to/repository
  • Working Procedure of Local repo: working directory-add-index(stage)-commit-HEAD

  • Add file:

      git add <filename>/*
  • Commit:

      git commit -m "describ info"
  • Push to remote:

        git push origin master
  • 若还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器:

        git remote add origin <server>
  • Creat "feature_x" branch, and switch to it:

      git checkout -b feature_x
  • Switch back to another branch(e.g. master):

        git checkout master
  • Delete feature_x branch:

      git branch -d feature_x
  • You need to push the branch to remote, unless it's unseen:

        git push origin <branch>
  • Refresh local repo to the newest :

        git pull
  • Fetch and merge remote modification:

      git merge <branch>
  • Sometime, the merge could come cross conflicts, then you need to modify file manually, when you complete, add the file:

        git add <filename>
  • To find the difference between different version:

        git diff <source_branch> <target_branch>
  • Tag: git tag 1.0.0 1b2e1d63ff ( 1b2e1d63ff is the ID of file which you can get through git log)

  • Cancel local modification to the file in Head:

      git checkout --<filename>
  • If you want to discard all your local modification and commits, you can get the version in remote repo, and aim your local brach to it:

      git fetch origin 
      git reset --hard origin/master
  • GUI:

      gitk
  • Colorful GUI: git config color.ui true

    More info:

    Git Guide

    Git Cheat Sheat

Last updated