Git&Github基本操作与分支管理
Git的原理涉及快照流、链表、指针等,这里不作过多叙述。
1.基本操作
git init
创建一个 Git 仓库
git clone [url]
拷贝一个 Git 仓库到本地
git add [file_name]
git add 命令可将该文件添加到缓存
git commit -m "备注信息"
使用 git add 命令将想要快照的内容写入缓存区, 而执行 git commit 将缓存区内容添加到仓库中。使用 -am 可以跳过 add 命令
git reset HEAD
git reset HEAD 命令用于取消已缓存的内容
git status
git status 以查看在你上次提交之后是否有修改
- -s 参数可以获得简短的结果输出
git rm
从 Git 中移除某个文件。
- -f : 强制删除
- --cached : 从暂存区域移除,但仍然希望保留在当前工作目录中
- –r * : 递归删除整个目录内的子目录和文件
git mv
git mv 命令用于移动或重命名一个文件、目录、软连接
2.设置签名
签名 = 用户名 + 邮箱
项目级别/ 仓库级别
git config userName demo@163.com
保存在 ./.git/config 文件
系统用户级别
git config --global userName demo@163.com***
保存在 ~/.gitconfig 文件
项目级别优先于系统用户级别,不能没有签名。
3.查看历史记录
git log --pretty=oneline
git log [--oneline]
git reflog
多屏显示控制方式:
空格向下翻页
b 向上翻页
q 退出
4.版本回退
基于索引值的版本回退
查找历史版本,黄色字体(最左边开头部分)就是索引值。
git reflog
回退
git reset --hard [索引值]
使用^回退一步
git reset --hard HEAD^
git reset --hard HEAD^^
使用~回退n步
git reset --hard HEAD~n
reset 命令的三个参数对比
--soft 参数
- 仅仅在本地库移动 HEAD 指针
--mixed 参数
- 在本地库移动 HEAD 指针
- 重置暂存区
--hard 参数
- 在本地库移动 HEAD 指针
- 重置暂存区
- 重置工作区
5.比较文件差异
git diff [文件名]
- 将工作区中的文件和暂存区进行比较
git diff [本地库中历史版本] [文件名]
- 将工作区中的文件和本地库历史记录比较
- git diff HEAD apple.txt
不带文件名比较多个文件
6.分支操作
创建分支
git branch [分支名]
查看分支
git branch -v
切换分支
git checkout [分支名]
合并分支
将任何分支合并到当前分支
git merge [分支名]
合并冲突
合并冲突时,会进入MERGING状态,查看冲突文件。
123456
=======
456789
>>>>>>> masterHEAD:当前分支内容
master:另一分支内容
此时进入手动修改阶段.....
冲突的解决
编辑文件,删除特殊符号
把文件修改到满意的程度,保存退出
git add [文件名]
git commit -m "日志信息"
此时commit一定不能带文件名。
本地库关联Github远程库
git remote add [shortname][url]
例:git remote add origin git@github.com:tianqixin/runoob-git-test.git
推送到远程仓库
git push [alias][branch]
例:git push origin master
推送冲突
如果在你提交修改时已经有了其它人提交修改,那就会产生冲突。
这时候可以先合并冲突 pull 拉取到本地,然后按照 合并冲突 的解决方法做即可。
查看当前的远程库
git remote [-v]
1.从远程仓库下载新分支与数据到本地
git fetch [alias]/[branch]
2.从远端仓库提取数据并尝试合并到当前分支
git merge [alias]/[branch]
拉取(pull = fetch+merge)
git pull [alias][branch]
删除远程仓库
删除远程仓库你可以使用命令:
git remote rm [alias]
Git&Github基本操作与分支管理的更多相关文章
- Git 最佳实践:分支管理
5月份,为统一团队git分支管理规范,刚开始准备自己写,在网上搜了下,发现不少不错的git分支管理实践.最后我为团队选择了这个git分支管理实践 A successful Git branching ...
- git基本操作:分支管理
一.创建测试项目 1.新建GitHub仓库 在GitHub上面新创建一个仓库,用来演示分支管理,如下图所示: 点击“Create repository”按钮创建新仓库. 2.将本地仓库项目上传到Git ...
- Git/GitHub基本操作
GitGit是分布式版本控制工具,SVN是集中式版本控制,有单点故障的问题GitHub是Git的代码托管中心,类似的国内有码云,是远程维护库Git的优势大部分操作在本地完成,不需要联网完整性有保证尽可 ...
- git+github上传与管理
1.首先下载并安装git,方便管理github上的代码 https://git-scm.com/downloads 2.然后点击安装好的git bash(注册好自己的github) git confi ...
- [置顶] 【Git入门之八】分支管理
原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12309385 1.分支又是神马? 我为什么说又是... 分支就是一个我们能通 ...
- git 入门教程之分支管理
背景 什么是分支?简单地说,分支就是两个相对独立的时间线,正常情况下,独立的时间线永远不会有交集,彼此不知道对方的存在,只有特定情况下,两条时间线才会相遇,因为相遇,所以相知,因为相知,所以改变! 正 ...
- Git系列五之分支管理
1.Git分支管理 分支即是平行空间,假设你在为某个手机系统研发拍照功能,代码已经完成了80%,但如果将这不完整的代码直接提交到git仓库中,又有可能影响到其他人的工作,此时我们便可以在该软件的项目之 ...
- Git——github基本操作
基本概念 上一篇文章写到git共享仓库,但是有个局限性,就是这个仓库存在于本地,其他人无法从我们这个仓库拿到共享的内容 但是我们可以将这个共享仓库放入一个远程的服务器上,然后设置一些登录权限就能完美的 ...
- 【Git】六、分支管理&冲突解决
上一节讲了如何和远端的仓库协同工作,这一节介绍一下分支 ---------------------------- 提要 //创建一个分支dev $ git branch dev //切换到dev分支 ...
随机推荐
- Django+MongoDB批量插入数据
在百万级和千万级数据级别进行插入,pymongo的insert_many()方法有着很强的优势.原因是每次使用insert_one()方法进行插入数据,都是要对数据库服务器进行一次访问,而这样的访问是 ...
- Pycharm基本设置和插件安装
Pycharm调节主题和字体 调节主题:File - Setting - Editor - Color Scheme - 选择个人喜欢的风格 调节字体大小,感觉默认字体有点小,对我这样的老人家,至少要 ...
- mysql学习之完整的select语句
本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order by limit 首发日期:2018-04-11 完整语法: 先给一下完整的语法,后面将逐一来 ...
- (转载)彻底的理解:WebService到底是什么?
最近老是有人跟我提web service接口,怎么,怎么滴,我觉得很扎耳朵,web service是一种将服务器的服务封装起来的技术,表现为对外提供接口,所以,web service不是一种接口 !! ...
- MySQL优化技巧【持续更新】
前言 应用程序或web网页有时慢的像蜗牛爬似的,可能是网络原因,可能是系统架构原因,还有可能是数据库原因.那么如何提高数据库SQL语句执行速度呢?下面是积累的一些优化技巧,望对君有用. 正文 1.比较 ...
- 大杀器:VS2017 查看或调试liunx代码(转载)
From:https://blog.csdn.net/mumufan05/article/details/80094637 上一篇简单介绍了vs2017新建一个linux的工程,本编将介绍一下如何管理 ...
- Vue2 学习笔记1
什么是Vue.js Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App,Vue语法也是可以用于进行手机App开发的,需要借助于Wee ...
- Ubuntu16.04系统安装搜狗输入法详细教程(转载)
1.下载搜狗输入法的安装包 下载地址为:http://pinyin.sogou.com/linux/ ,如下图,要选择与自己系统位数一致的安装包,我的系统是64位,所以我下载64位的安装包 2.按键C ...
- SAP LOGON 快捷登陆方式如何保存密码
默认情况下,快捷方式密码是不能输入的. 解决方法:修改注册表: 计算机\HKEY_CURRENT_USER\Software\SAP\SAPShortcut\Security EnablePasswo ...
- 让EntityFramework.Extended支持MySql
EF:Entity Framework EFEL:Entity Framework Extended Library EFEL5.0时代是不支持MySql的,现在升级到6.0之后,已经支持MySql了 ...