最近项目中运用到git进行版本管理,之前一直都是在用SVN,趁此机会对git进行学习学习。在项目中,使用gitstack搭建了git服务器,多人协作进行项目开发。
1. 本地git操作
- 初始化git项目(切换到项目目录下进行git初始化)
git init
- 查看仓库状态(暂存区状态)
git status
- 对比文件或项目内容
git diff test
- 将文件加入暂存区(添加新文件到版本库)
git add test
- 提交新文件到本地版本库
git commit -m "add new file test"
参数-m
代表提交日志
- 版本回滚
git reset --hard commit_id
历史commit_id
可通过 git log
进行查看
- 从版本库中恢复文件
git checkout -- test
文件误删不存在或进行了其他不当操作,可从版本库中进行恢复
- 删除版本库中文件
git rm test.xml
2. 远程git操作和git分支管理
这部分主要涉及到的内容是git的远程操作和分支管理,远程操作部分需要我们先建立git服务器,这部分我们不进行介绍,留给大家自己去探索。推荐使用gitstack,简单易用,但不免费,具体“免费”的方法也交给大家自己去探索。
首先,需要在git服务器上创建版本库test。
- 添加远程git服务器
git remote add origin http://localhost/test.git
- 本地master分支推送到远程
git push -u origin master
参数-u
关联本地master和远程master
- 克隆项目到本地
git clone http://localhost/test.git
- 查看所有分支
git branch -a
如果已经和远程git服务器关联,那么可以查看到远程的git分支
- 创建git分支
git branch test
- 切换git分支
git checkout test
- 创建并切换git分支
git checkout -b test
可替换git branch
和 git checkout
两条命令
- 合并git分支
git merge test2
合并当前所在分支与指定分支,例如当前所在分支为test
,则合并test
与test2
- 删除git分支
git branch -d test
git branch -D test
参数 -D
表示强制删除
- 删除远程分支
git branch -r -d origin/test
- 查看合并分支图
git log --graph
- 推送本地分支到git服务器(当前所在分支)
git push origin master
- 拉取git服务器分支并在本地创建
git checkout -b test origin/test
- 从git服务器获取分支到本地
git fetch origin master:master
- 从git服务器获取分支并merge到本地
git pull origin master
git pull=git fetch + git merge
OK,常用的git命令已经学习过了,接下来我们就应该反复实践了。注意,是反复实践,只有反复实践才能强化记忆,手到擒来,切忌眼高手低。接下来,我们就开始愉快的使用git吧。^_^
参考:
廖大神git教程: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
阮一峰git教程: http://www.ruanyifeng.com/blog/2014/06/git_remote.html