Born to be proud
4/6
2015

Git学习笔记

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。分布式的git相比于集中式的svn最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
git构架上分为3个区,工作区,暂存区与版本库。用户在工作区的更改通过git add命令添加至暂存区,暂存区的数据通过git commit提交到版本库。用户通过git checkout从版本库中检出数据。
git的远程协作需要先fork开源项目,然后本地git clone该项目,通过git pull,git push编辑项目,通过git remote获取原作者的更新,pull request为该项目做贡献。

git 双击table自动完成

git config --help
git help config

git config user.name 查看用户名
git config --global user.name liu13
git config --global --add user.name liu13
git config --get user.name
git init name
git init --bare name
git clone name/ name

git add
git add .
git commit -m ""
git status 
git rm --cached name
git mv
git reset HEAD name
gitignore

git config --global alias.lol "git log --oneline --decorate --graph --all"
git merge origin/master

git branch name 创建分支
git checkout baranchname 切换分支
git tag "tagname" hash
git tag -a "INITIAL_COMMIT" -m"" hash
git show tagname
git checkout -b branchname 创建并切换分支
git stash save -a stash_name 保存暂存区
git stash list
git stash pop --index stash_name 暂存区也返回
git stash apply --index stash_name 暂存区也返回且保存stash
git stash drop stash_name 
git stash clear 一次性清理

git merge branch_name
git merge --abort

git show branch_name^

git diff 工作区与暂存区区别
git diff --cached 暂存区与历史提交差异
git diff --color-words

git checkout (HEAD) --文件名  撤销修改
git reset 文件名  还原暂存区

git clean -n 查看git clean 将要移除的文件
git clean -f 清理无用文件,不清理ignore文件中指定的文件

git clone 获取远程仓库
git fetch( origin 分支名) 获取更新(分支,数据)
git pull = git fetch + git merge
git push --tag 推送tag
git push origin :分支名  
git push --delete origin 分支名 删除远程分支

pull request 没被关闭 不需重复pull request
git remote add 仓库名 http路径
git remote -v
git fetch 仓库名
git remote rm
git remote rename