Git CLI
Table of contents
First install Git Bash from https://git-scm.com/download/win
Procedures
- go to the folder to make git managed
git init .
: initialize .git called git repository
- register user information
git config --global user.name "myname"
git config --global user.email "abc@gmail.com"
git status
: working tree statusgit add <filename>
: add to Staging Areagit add .
: all files added in current folder, but at least add FIRST
git commit -m "history comment"
: goes to Repository, create versiongit commit -am "filename"
: add & commit at oncegit log
: shows file versiongit log stat
: show file version historygit diff
: shows differencesgit checkout <[VersionNumber]>
: go back to previous versiongit checkout master
: go to latest versiongit reset --hard [VersionNumber]
: reset to [VersionNumber] version, strongly deleted..gitignore
: ignore fires listed in .gitignore file
Branch and Conflict
- git branch : make branch
- git checkout : go to the branch name, changes HEAD
- base : common ancestor between branches
$ git log --graph --oneline # shows oneline
* 8f928c8 (HEAD -> master) work 3
* 185a6da work 2
* d06d25d work 1
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git branch
* master
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git branch apple # make apple branch
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git branch
apple
* master
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git branch
apple
* master
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git log --graph --oneline
* 8f928c8 (HEAD -> master, apple) work 3
* 185a6da work 2
* d06d25d work 1
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git branch google
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git branch
apple
google
* master
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git branch ms
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git log --graph --oneline
* 8f928c8 (HEAD -> master, ms, google, apple) work 3
* 185a6da work 2
* d06d25d work 1
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ nano work.txt
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git commit -am "master work 4"
warning: LF will be replaced by CRLF in work.txt.
The file will have its original line endings in your working directory
[master 375e49a] master work 4
1 file changed, 1 insertion(+)
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git log --graph --oneline
* 375e49a (HEAD -> master) master work 4
* 8f928c8 (ms, google, apple) work 3
* 185a6da work 2
* d06d25d work 1
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (master)
$ git checkout apple
Switched to branch 'apple'
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (apple)
$ git log --graph --oneline
* 8f928c8 (HEAD -> apple, ms, google) work 3
* 185a6da work 2
* d06d25d work 1
samsung1@samsung MINGW64 ~/Desktop/gitStudyFolder/manual (apple)
$ git checkout master
Switched to branch 'master'