Git 是最流行的版本管理工具,也是程序员的必备技能之一。随着github,coding等一些可以使用git存储的网站盛行,Git的江湖地位变得无可替代了,如果你是个开发者却还不会使用Git那就太out了。
首先,小编先引入一张图来解释git。搞懂后,日常使用只需6大命令即可。
1. 图解git原理
1. Workspace: 工作区
git add . 命令将改动提交到暂存区
git pull 命令将远程仓库的数据拉到当前分支合并
git checkout master 切换分支
2. Index / Stage: 暂存区
commit -m 'init' 将改动提交到当前分支到本地仓库
3. Repository: 本地仓库(仓库区)
git push -u origin master 提交到远程仓库
git clone git地址 将远程仓库克隆到本地
4. Remote: 远程仓库区
2. git常见术语
1. 仓库 Repository
仓库包含了所有的版本信息,所有的分支和标记信息。
2. 分支 Branches
一个分支意味着一个独立的、拥有自己历史信息的代码线。默认的分支是master分支。
git branch: 查看当前分支
git checkout: 切换/创建分支
3. 标记 Tags
标记指的是某个分支特定时间的状态。通过标记,可以方便的切换到标记时的状态
4. 提交 Commit
提交代码后,仓库会生成一个新的提交记录。
git log: 查看提交的记录
5. 修订 Revision
用来表示代码的版本状态
3. git工具
Github Desktop: 支持mac和windows
https://desktop.github.com/小乌龟:tortoise: 只支持Windows
http://download.tortoisegit.o...
4. git常见命令
1. add
git add .
将本地所有的untrack文件都加入到暂存区,并且根据
.gitignore做过滤操作
2. commit
git commit -m 'message'
将暂存区文件提交到本地仓库
3. remote
git remote add origin git@github.com
为远程仓库更名为origin
4. push
git push -u origin master
将本地仓库推送到远程仓库
5. pull
git pull origin master
拉取远程仓库数据并合并到当前分支
6. branch
git branch
列出所有本地分支
git branch -r
列出所有远程分支
git branch -a
列出所有本地分支和远程分支
git branch [branch]
新建分支,但仍然停留在当前分支
7. checkout
git checkout -b [branch]
新建一个分支,并切换到该分支
git branch -d [branch]
删除本地分支
git push origin --delete [branch]
git branch -dr [branch]
8. tag
git tag
列出所有的tag
git tag [tag]
新建tag标签,默认是当前分支
git tag -d [tag]
删除本地tag
git push origin :refs/tags[tag]
删除远程分支
git push [romote] [tag]
提交指定tag
git push [romote] --tags
提交所有tag
git checkout -b [branch] [tag]
新建一个分支,指向tag
9. reset
git reset --hard HEAD^
回退到上一版本
git reset --hard [commit]
回退到指定commit版本
10. log
git log
显示当前分支的所有版本历史
git log --stat
显示所有commit历史,及commit变更的文件
git log -p [file]