git help config;//git help command
git config --global user.name "Yanlong Wang"
git config --global user.email "wangyanlong0107@gmail.com"
git config --global color.ui true //增加命令行颜色
git init;
git status;
git add readme.txt license.doc;//当前目录下两个文件
git add ../docs/*.txt;//docs目录下的*.txt文件
git add ../docs/;//add docs目录下所有
git add --all;//add all files
git add "*.txt";//add all txt files in the whole project
git commit -m "message"; //commit 生成一个快照snapshot,并压入snapshot stack
git commit -am "message";//adds and commits in the same step;
git log;//查看snapshot stack,至顶向下
git diff (HEAD);//show unstaged differences since last commit
git diff HEAD^;//
git diff HEAD^^;
git diff HEAD~5;//show unstaged differences since last 5th commit
git diff --stage;//view staged differences
git reset HEAD license.txt;//unstage license.txt,HEAD refers to last commit locally.从stage->unstage改变还在
git checkout -- license.txt;//blow away all changes since last commit.unstage状态下blow away改变不在
git reset --soft HEAD^;//undo last commit,put changes into staging.
git commit --amend -m "new message";//overide the last commit.
git reset --hard HEAD^^;//undo last two(^^) commit and all changes.
git remote add origin https://github.com/.....;增加远程repo origin的url address.
git push -u origin master;origin->remote repo branch,master->local repo branch
git pull <remote name> master;可以省略,默认git pull origin master
git remote add <name> <address>;//add new 远程仓库
git remote rm <name>;//remove remotes repo branch
git push -u <name> <branch>;//to push to remote repo ;branch usually master
git clone https://github.com/YanlongWang/CS472-final-presentation.git (localfoldername);clone远程repo到localfoldername省略则为当前目录
git branch;//show all branches of code
git branch <branch_name>;//create branch
git checkout <branch_name>;//change branch
git merge <branch_name>;//merge branch_name to current timeline branch.每一次mergre都会产生一次新的commit,pull=fetch+merge
git branch -D <branch_name>;//delete branch
git checkout -b <branch_name>;//create and checkout to branch_name branch
git commit -a;//merge commit,修改冲突后的提交
git checkout -b shopping_cart;
git push origin shopping_cart;//origin指远方repo,会创建一个远程的shopping_cart branch 并关联local的shopping_cart branch
git commit -am "add some files";
git push;//因为已经tracking了所以直接push。
git pull;//把远程所有分支都下载
git branch;//list all local branches
git branch -r;//list all remote branches
git remote show [remote_name];
git push origin :[branch_name]; //delete remote branch
git branch -d/-D [branch_name];//delete local branch
git remote prun origin;//clean up deleted remote branches.
git push heroku-staging staging:master;//will push and deploy staging on heroku.
git tag;//list all tags which is a reference to a commmit(used mostly for release versioning)
git checkout [tag_name];//checkout to tag_name
git tag -a v0.03 -m "version 0.03";//to add a new tag
git push --tags;//push with tags included
git fetch;
git rebase;
git log --pretty=oneline;
git log --oneline -p;
git log --oneline --stat;
git log --oneline --graph;
git log --until=1.minute.ago;
git log --since=1.hour.ago;
git log --since=1.month.ago --until=2.weeks.ago;
git diff sha1..sha2;//diff between commits
git blame index.html --date short;//index.html的修改历史
git rm --cached *.log;//tell git stop tracking *.log files
.gitignore logs/*.log//stop tracking *.log files
git add .gitignore;
git commit -m "Ignore all log files";
git config --global alias.mylog \ "log --pretty=format:'%h %s [%an]' --graph"
git config --global alias.lol \ "log --pretty --decorate --pretty=oneline --abbrev-commit --all"
git mylog/lol;//short for