git 使用基础
2015-06-10 16:22
330 查看
git 使用基础
基本概念
working tree 工作树,临时目录。
GIT Directory 项目的所有历史提交都被保存在了GIT库目录,只要不回滚。
GIT Index 是工作树和Git库目录之间的暂存区,尚未commit的那些内容所在的区域。
git 详细参考文档
基础命令
git add //添加
git commit -a '说明' //提交
git pull //从远程拉数据下来
git push -u origin master //推本地数据到远程
git push -u origin feature/createPorject_272393
git remote -v //查看远程源版本
git st //查看状态
git log //查看修改记录
git show //显示修改对比
git branch //显示分支
恢复命令
git checkout -- //取消对文件的修改
git reset HEAD ... //撤销先前"git add"的操作
git commit --amend //修改最后一次提交
git reset HEAD^ //回退所有内容到上一个版本
git reset HEAD^ a.py //回退a.py这个文件的版本到上一个版本
git reset –soft HEAD~3 //回退到第3个版本
git reset –hard origin/master //将本地的状态回退到和远程的一样
git reset 057d //回退到某个版本 git revert HEAD //代码回滚到上个版本,并提交git
分支管理
分支管理约定
主 (master) 分支
开发 (develop) 分支
功能(feature)分支
预发布(release)分支
修补bug(fixbug)分支
git checkout -b <develop> <master> //从主分支,创建开发分支
git checkout -b <p4p> <origin/feature_p4p> //从远程拉分支
git checkout master //切换到主分支
git merge --no-ff develop //合并develop分支到当前分支
git push -u origin develop //同步develop分支到远程服务端
git branch -d develop //删除分支
git push origin --delete <branchName> //删除远程分支
git fetch origin //创建更新本地的远程分支
git branch -a 查看远程分支
合并分支
参考地址
冲突处理
参考地址
1.如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash 保存当前工作区 解释
git pull
git stash pop
然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
2.如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:
git reset --hard git pull 其中git reset是针对版本,如果想针对文件回退本地修改,使用 git checkout HEAD file/to/restore
tag 管理
git tag 列出tag
git tag -l //列出匹配tag
git tag -a -m '备注' //创建tag
git tag -d //删除tag
git push origin //提交到远程
git push origin --tags //提交全部tags
查看差异
git diff //比较差异
git diff master..develop 比较master和develop两个分支的差异 参考地址
撤销错误
git reset //将当前的分支重设(reset)到指定的<commit>或者HEAD
--mixed 默认选项, 工作树中文件的修改都会被保留,但是也不会被标记成"Changes to be committed"
--soft 从以来的所有改变都会显示在git status的"Changes to be committed"中。
--hard 从以来在working directory中的任何改变都被丢弃,并把HEAD指向
git submodule 使用
参考地址
基本概念
working tree 工作树,临时目录。
GIT Directory 项目的所有历史提交都被保存在了GIT库目录,只要不回滚。
GIT Index 是工作树和Git库目录之间的暂存区,尚未commit的那些内容所在的区域。
git 详细参考文档
基础命令
git add //添加
git commit -a '说明' //提交
git pull //从远程拉数据下来
git push -u origin master //推本地数据到远程
git push -u origin feature/createPorject_272393
git remote -v //查看远程源版本
git st //查看状态
git log //查看修改记录
git show //显示修改对比
git branch //显示分支
恢复命令
git checkout -- //取消对文件的修改
git reset HEAD ... //撤销先前"git add"的操作
git commit --amend //修改最后一次提交
git reset HEAD^ //回退所有内容到上一个版本
git reset HEAD^ a.py //回退a.py这个文件的版本到上一个版本
git reset –soft HEAD~3 //回退到第3个版本
git reset –hard origin/master //将本地的状态回退到和远程的一样
git reset 057d //回退到某个版本 git revert HEAD //代码回滚到上个版本,并提交git
分支管理
分支管理约定
主 (master) 分支
开发 (develop) 分支
功能(feature)分支
预发布(release)分支
修补bug(fixbug)分支
git checkout -b <develop> <master> //从主分支,创建开发分支
git checkout -b <p4p> <origin/feature_p4p> //从远程拉分支
git checkout master //切换到主分支
git merge --no-ff develop //合并develop分支到当前分支
git push -u origin develop //同步develop分支到远程服务端
git branch -d develop //删除分支
git push origin --delete <branchName> //删除远程分支
git fetch origin //创建更新本地的远程分支
git branch -a 查看远程分支
合并分支
参考地址
冲突处理
参考地址
1.如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash 保存当前工作区 解释
git pull
git stash pop
然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
2.如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:
git reset --hard git pull 其中git reset是针对版本,如果想针对文件回退本地修改,使用 git checkout HEAD file/to/restore
tag 管理
git tag 列出tag
git tag -l //列出匹配tag
git tag -a -m '备注' //创建tag
git tag -d //删除tag
git push origin //提交到远程
git push origin --tags //提交全部tags
查看差异
git diff //比较差异
git diff master..develop 比较master和develop两个分支的差异 参考地址
撤销错误
git reset //将当前的分支重设(reset)到指定的<commit>或者HEAD
--mixed 默认选项, 工作树中文件的修改都会被保留,但是也不会被标记成"Changes to be committed"
--soft 从以来的所有改变都会显示在git status的"Changes to be committed"中。
--hard 从以来在working directory中的任何改变都被丢弃,并把HEAD指向
git submodule 使用
参考地址
相关文章推荐
- lirc红外学习irrecord
- [Python]网络爬虫(九):百度贴吧的网络爬虫(v0.4)源码及解析
- eclipse里的svn不显示版本号或修改人、修改时间
- Ubuntu 14.10安装SecureCRT 7.3
- [leetcode 11]Container With Most Water
- [FZYZOJ 1600] [NOIP福建夏令营]台阶问题
- HDU_2074 叠筐
- rust map的使用:获取某个key对应的value,如果不存在就插入一个
- [Python]网络爬虫(八):糗事百科的网络爬虫(v0.3)源码及解析(简化更新)
- [Python]网络爬虫(七):Python中的正则表达式教程
- STL标准
- POJ3126--- Prime Path
- spinner自定义布局文件设置字体大小和颜色
- maven处理依赖冲突(未完)
- 参数嗅探(Parameter Sniffing)(1/2)
- 微信支付实战详解
- 应聘互联网公司,简历应该怎么写?
- 设计模式之 - 策略模式
- 过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'
- opencv源码分析:cvCreateMTStumpClassifier最优弱分类器的代码框架