史上最全的Git使用手册
git manual
一、代码提交
将新建文件加入到暂存区
git add hello_world.c #将hello_world.c加入到暂存区
将所有改变的文件加入到暂存区
git add. #将hello_world.c加入到暂存区
查看当前状态
git status
将暂存区的文件提交到本地的git仓库
git commit -m "add:添加一个新文件...."
将本地的git代码提交到git服务器
git push #提交到git服务器仓库
退回到某一次提交的版本
git reflog #获取提交的版本号 git reset --hard xxxxx
二、查看分支
查看本地分支
git branch #列出本地已经存在的分支,并且当前分支会用*标记
查看远程分支
git branch -r #查看远程版本库的分支列表
查看所有分支
git branch -a #查看所有分支列表(包括本地和远程,remotes/开头的表示远程分支)
查看最后一次提交的分支
git branch -v #查看一个分支的最后一次提交
查看已合并的分支
git branch --merged #查看哪些分支已经合并到当前分支
查看未合并的分支
git branch --no-merged #查看所有未合并到工作的分支
三、创建和切换分支
创建新的分支
git branch 新分支名称
切换分支
git checkout 新分支名称
创建分支的同时,切换到该分支上
git checkout -b 新分支名称
四、从远程仓库pull(拉取)代码到本地分支
指定远程分支和本地分支
git pull origin 远程分支名称:本地分支名称
如果不屑本地分支名称,则默认和远程分支同名
git pull origin 远程分支名称:
五、将新分支推送到远程仓库
git push origin 分支名称
六、删除分支
删除本地分支(不能删除当前所在的分支,如果要删除,必须切换到其他分支上)
git branch -d 分支名称
说明:如果删除时报错:error: The branch '分支名称' is not fully merged. (意思 是:分支未完全合并)。解决方法是使用 -D 强制删除,代码如下:
git branch -D 分支名称
删除远程分支
git push origin :分支名称
注意:分支名称前有个冒号,分支名前的冒号代表删除
七、合并分支
加入我们当前位于分支tempbranch上,刚开发完一个功能,执行如下命令提交到当前分支上:
git add . git commit -m "add:临时测试函数功能完成,提交到tempbranch分支" git push -u origin tempbranch
切换到master分支上
git checkout master
如果多人开发的状态,需要把远程的master分支上的代码pull下来
git pull origin master
然后把tempbranch 分支的代码合并到master上
git merge tempbranch
如果git merge的时候出现冲突,可以执行下面的命令取消merge:
git merge --abort:
然后查看状态
git status
最后push到远程仓库
git push origin master
八、概念说明
什么是分支?
1.Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。 与许多其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。 理解和精通这一特性,你便会意识到 Git 是如此的强大而又独特,并且从此真正改变你的开发方式。
2.Git保存的不是文件的变化或者差异,而是一系列不同时刻的快照 。在进行提交操作时,Git 会保存一个提交对象(commit object)。 该提交对象会包含一个指向暂存内容快照的指针,还包含了作者的姓名和邮箱,提交时输入的信息以及指向它的父对象的指针。 首次提交产生的提交对象没有父对象,普通提交操作产生的提交对象有一个父对象, 而由多个分支合并产生的提交对象有多个父对象。
3.分支在实际开发中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样既安全,又不影响别人工作。
什么是派生?
派生的意思就是分支支流,gitblit上的派生,实际上就是git的分支,主支是master。
参考GitBlit的使用教程
Git详细教程
史上最全的Git使用手册相关推荐
- 史上最全的git 常用命令集合
# 工程下载.分支的增删查改 工程下载: clone 远程工程:git clone https://XXXX.git fetch 远程分支到本地某分支:git fetch origin <org ...
- 史上最全的MySQL优化手册
MySQL数据库优化大全 (注:文档参考高性能MySQL,SQL手册,官方文档 [提前声明] 文章由作者:张耀峰 结合自己生产中的使用经验整理,最终形成简单易懂的文章 写作不易,转载请注明,谢谢! 大 ...
- 【必备】史上最全的浏览器 CSS JS Hack 手册
浏览器渲染页面的方式各不相同,甚至同一浏览器的不同版本("杰出代表"是 IE)也有差异.因此,浏览器兼容成为前端开发人员的必备技能.如果有一份浏览器 Hack 手册,那查询起来就方 ...
- 史上最全“Git插件+码云+分支” 使用步骤详解
版本控制也就那么回事!!! 史上最全"Git插件+码云+分支" 使用步骤详解 1.准备Git: 1.1 下载Git到本地: 首先在华为镜像云里面搜索"Git-For-Wi ...
- GitHub 标星 44k!史上最全技术面试手册!
大家好,我是为前端娱乐圈操碎了心的小迷妹,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标. 每天上班必须做的一件事情,就是打开 ...
- [收藏]可能是史上最全免费编程书籍
目录 语言无关 IDE MySQL NoSQL PostgreSQL Web WEB服务器 其它 函数式概念 分布式系统 在线教育 大数据 操作系统 数据库 智能系统 正则表达式 版本控制 程序员杂谈 ...
- 史上最全的软件工程师资料收集
目录 语言无关 IDE MySQL NoSQL PostgreSQL Web WEB服务器 其它 函数式概念 分布式系统 在线教育 大数据 操作系统 数据库 智能系统 正则表达式 版本控制 程序员杂谈 ...
- 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发...
[原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文 http ...
- 【干货】史上最全的Tensorflow学习资源汇总,速藏!
一 .Tensorflow教程资源: 1)适合初学者的Tensorflow教程和代码示例:(https://github.com/aymericdamien/TensorFlow-Examples)该 ...
最新文章
- django正反向查询
- Django 布署6.5
- 中文预训练ALBERT模型来了:小模型登顶GLUE,Base版模型小10倍、速度快1倍
- 打造计数君!谷歌提出RepNet:可自动计数视频重复片段 | CVPR 2020
- 亲近自然的加州玻璃豪宅
- SNMP高速扫描器braa
- python3 not 用法
- 阻尼衰减曲线用python_高阻尼隔震橡胶支座结构及防震效果
- 运行Hadoop自带的wordcount单词统计程序
- C#LeetCode刷题之#160-相交链表(Intersection of Two Linked Lists)
- mysql置信度支持度,支持度 置信度 提升度
- Android应用程序中的多个Activity的显示创建和调用
- 桌面有u盘符计算机里没有了,教你电脑不显示u盘盘符怎么办
- 【转】Ubuntu 16.04安装配置TensorFlow GPU版本
- laravel很慢_Laravel网站打开速度优化的方法汇总
- 专为医疗领域打造!飞凌嵌入式新一代FDU显控一体机发布
- 八年级地理上册复习提纲(星球版)
- 我的达内Java培训经历
- 高分辨率屏电脑 centos虚拟机屏幕使字体变大的方法
- Ubuntu18 安装98五笔
热门文章
- 蜂群思维三个关键词:群体智慧、分布式、涌现
- java 使用JSONUtil工具类
- Word中批量制作录取通知书amp;工资条
- 算法-蓝桥杯习题(3-1)
- javascript实现省市县联动
- 超详细域名备案+阿里云服务器配置+小程序开发(简略)+前后端分离(简略)
- A091_hrm07_用户中心_注册
- 学习笔记之软件测试4:CSDN账号密码登陆自动化测试实现(Selenium+Unitest)
- 成都java薪资待遇怎么样?还值得学习吗?
- Copy BOM and Rounting 说明