分布式版本控制系统Git(三):git使用总结以及常用命令
2016-04-23 15:03
621 查看
扯淡
其实要讲的东西也不是很多,毕竟只是站在开发人员的角度上去总结的,所以只要会用git进行代码提交,修改什么的一些常用操作就可以了。如果你想继续深入git具体是怎么实现的,或者分支管理什么,自己业余时间可以去研究研究,大体上git的章节就这样了,以后或许可能再出git客户端的使用总结,比如:小乌龟TortoiseGit,eclipse插件EGit,SourceTree等等,但是命令都会了,估计使用客户端只是更加简单了。git使用总结
工作区+暂存区+本地版本库+远程版本库分别对应下面的workspace+index+repository+remote
一般开发流程:
1、首先先克隆一份公司给的或者github的远程版本库的项目到本地版本库。
2、将项目导入到开发工具中,比如eclipes。
3、进行项目开发,对代码进行添加修改等等。
4、将修改的代码添加到暂存区,然后提交到本地版本库。
5、拉取pull远程版本库的代码,如果有冲突的话,会自动合并冲突的文件,然后你需要对冲突的文件进行修改,解决冲突,然后将文件重新添加到暂存区,然后提交到本地版本库。
6、推送push本地版本库的内容到远程版本库。
其中,有可能出现需要还原代码的问题,具体有三种情况
1、未添加到暂存区
2、已添加到暂存区,未提交到本地版本库
3、已添加到暂存区,已提交到本地版本库
具体解决方式见下面常见命令。
git使用基本命令
在git bash中能使用linux命令,比如touch,vi,cat等。
密钥
ssh-keygen -t rsa -C 'zhangsan@126.com' 生成密钥
本地版本库相关操作
git init 创建本地版本库,生成.git文件
git add xx 将xx文件添加到暂存区
git commit -m '注释' xx 提交xx文件,不加xx,表示提交所有
git status xx 查看文件状态,不加xx表示查看所有文件状态
git diff xx 对比工作区与本地版本库xx文件的差别
git log xx 查看文件的历史记录,不加xx表示查看仓库的历史记录 git log --pretty=oneline xx 单行显示历史记录
git reflog xx 查看文件的历史记录版本号,不加xx表示查看仓库历史记录版本号
git reset --hard HEAD^ 回退到上一个版本 git reset --hard HEAD~40 回退40个版本 git reset -- hard 版本号 穿梭到某个版本
撤销操作
撤销未加入暂存区的文件修改(也就是未add的文件)git checkout -- a.txt
撤销已加入暂存区但未提交的文件修改(也就是已add未commit的文件)
git reset HEAD a.txt 先回到之前版本库a.txt的代码 git checkout -- a.txt 再checkout a.txt
撤销已加入暂存区已提交的文件修改(也就是已add已commit的文件)
git reset –hard HEAD^ 整体回退到之前版本
git rm -f xx 删除xx文件,生效需要再commit
分支操作
git branch 查看当前所有的分支
git branch xx 创建xx分支
git checkout xx 切换到xx分支
git branch –d xx 删除xx分支
git merge xx 当前所在分支合并xx分支
git checkout –b dev 创建dev分支 并切换到dev分支上
远程版本库
ssh -T git@github.com 测试连接github
git remote add origin https://github.com/xx/testgit 关联一个远程库
git pull origin master 拉取远程版本库的东西到本地版本库
git push –u origin master 把当前master分支推送到远程库,第一次要用-u 以后不需要
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息
相关文章推荐
- 回溯算法之批处理作业调度
- 2016SDAU编程练习二1015
- 【APM】开发环境配置
- 快速排序算法实现
- CountDownLacth详解
- 两人合作
- DOM节点操作
- JavaScript实现Base64编码转换
- eclipse 打开server部署路径
- OC 基本的便利排序方法
- Dubbo入门学习记录
- 图像处理与计算机视觉中的经典文章
- 验证码的制作
- dede数据库类使用方法 $dsql
- Android不透明度16进制值
- JAVA性能优化-持续更新
- HDU 5671 Matrix
- Java 连接SQLServer 2012
- 裘宗燕:C/C++ 语言中的表达式求值
- 【刷题笔记/剑指Offer】41-50