git(程序员的时光机)
git 是什么
最强大的分布式版本控制系统,没有之一
版本控制: 完成一项任务,最终的成果可能是经过中间修修修改n次得到的,在这n个版本之间的切换就叫版本控制。
集中式的版本控制svn,cvs缺点: 需要联网,还很慢
git 主要特点:
(1)直接记录快照,而不是记录差异
(2)几乎所有的操作都是本地完成,除了与远程仓库之间的互动需要联网,其他无需网络,而且git记录了之前做的所有操作,想看一个月之前的,无需将旧版本拉下来,git已经记录下来了
(3)git 保证完整性,git数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名,属于你的任何操作,git都很清楚
github:一个网站,https://github.com/ 基于git的代码托管仓库,某种程度上就是一种代码网盘,上面放着各种开源的代码(也有私有的仓库)
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
git的安装
centos系统
yum install -y git
git初始化
mkdir git # 创建用于git管理的文件夹 git
cd git # 进入该文件夹
git init # 将该文件夹变成一个本地可以管理的仓库,该文件夹下多一个.git的文件夹 用来管理版本库
配置git
git config --global user.name " "
git config --global user.email " "
git 工作流程
- 修改,添加工作区的目录,文件
- 将修改文件的提交到缓存区
- 提交缓存区的文件到仓库
git 基本操作
#查看修改的文件
git diff 文件名
git diff id id 查看两次修改的差别 #查看工作状态
git status # 将修改的提交到缓存区
git add 文件名,这个步骤代表文件变成已跟踪状态 # 提交到仓库
git commit -m “add message” # 查看日志
git logs
git log --pretty=oneline(精简显示) --graph --abbrev-commit
git 分支
# 建立分支
git checkout -b mygit # 根据远程的分支建立自己的的分支
git checkout -b mygit origin/develop # 远程分支更新
git checkout develop 切换到develop分支
git fetch 拉取远程分支
get merge 将远程分支合并到本地develop 分支 # 更新自己的分支
git checkout -B mygit origin/develop #合并分支
git merge 分支名 合并“分支名”到当前分支 #删除分支
git branch -d 分支名 删除本地分支
git push origin --delete 远程分支名 删除远程分支
git 远程仓库
#直接clone 就可以得到远程github分支
git clone url #添加远程仓库
git remote add origin git@github:地址 #显示远程信息
git remote 远程分支的名(origin)
git remote -v 远程仓库地址 # 推行到远程
git push origin -u mygit (第一次推 需要-u 远程会建立一个跟本地一样的mygit 分支,两者自动关联)
git 退回 撤销操作
git 较难理解的指令
git rebase
git checkout
git(程序员的时光机)的更多相关文章
- Git 程序员篇
关于 Git Git 背后的故事 伟大的作品总是诞生于伟大的时代,正如 Git 同样诞生于一个英雄辈出.极富纷争的年代. 2005 年,Linux 内核开发社区正面临严峻的挑战:他们不能继续使用 Bi ...
- Git / 程序员需要知道的12个Git高级命令
众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...
- <初级程序员> git 的初级使用
作为程序员,Git 是一个很好的代码管理工具.Git 是一个版本控制系统,主要的作用就是记录代码的修改过程,有效的追踪文件的变化.当代码出现错误的时候可以很容易的恢复到之前的状态,不管对于个人开发还是 ...
- 不会git的程序员,会不会被鄙视?
昨天一朋友在微信上问了我一个问题,我觉得很有趣,于是将本次聊天的内容分享给大家. 我朋友说,如果一个程序员不会使用 git,会不会被别人觉得低一个档次? 事先声明啊,这与公司技术栈无关,不要说有些公司 ...
- 程序员Git代码托管平台
程序员Git代码托管平台 说到Git代码托管平台,首先推荐的是GitHub,好多好的开源项目都来自GitHub,但是GitHub只能新建公开的Git仓库,私有 仓库要收费,如果你做的是一个开源项目,可 ...
- [Git] git shortlog 找出最懒的程序员
转载:http://blog.csdn.net/qinjienj/article/details/7795802 场景假设:一个开发小组有10个程序员,他们用 Git 做版本控制,某一天程序员A pu ...
- 程序员必备基础:Git 命令全方位学习
前言 掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一下,发现有些Git命令我都忘记了,于是写了这篇博文,复习一下~ https: ...
- Git学习总结(6)——作为一名程序员这些代码托管工具你都知道吗?
作为一名程序员这些代码托管工具你都知道吗? 作为一名优秀的开发者,大家都会用到代码托管,我本人用的是github,确实github里面有很多很多开源的项目,所以我们目前的创业项目程序员客栈www.pr ...
- Java 进阶 hello world! - 中级程序员之路
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...
随机推荐
- vue、Element 点击按钮以弹窗形式预览pdf文件
直接上代码吧 <div > <el-button type="success" size="small" @click="isVie ...
- html上标与下标应用
HTML 标签应用示例: <html> <head> <meta http-equiv="Content-Type" content="te ...
- 小程序对于华为Oppo的canvas二维码渲染数据量大
setTimeout(()=>{ ctx.draw(false, function (e) { options.callback && options.callback(e); ...
- C语言 - sizeof和strlen的区别
sizeof和strlen的区别: 1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型. 该类型保证能容纳实现所建立的最大对象的字节大小. 2.s ...
- pyTerra
https://pypi.org/project/pyTerra/ pyTerra is a Python module that allows you to make requests to Mic ...
- Linux-配置共享目录
找到相关rpm包 运行以及错误解决** rpm -ivh tcp_wrappers-7.6-34.i386.rpm rpm -ivh portmap-4.0-54.i386.rpm rpm -ivh ...
- hadoop hdfs hbase优化实例
需求描述: 从hdfs中获取数据,字段url需要计算出url_type 通过进行hive的left outer join ,效率非常低.故将url的类型导入到hbase中,利用hbase快速查询的特点 ...
- eureka 服务实例实现快速下线快速感知快速刷新配置解析
Spirng Eureka 默认配置解读 默认的Spring Eureka服务器,服务提供者和服务调用者配置不够灵敏,总是服务提供者在停掉很久之后,服务调用者很长时间并没有感知到变化.或者是服务已经注 ...
- springboot 项目部署后 404的问题
是因为打包的时候,没有把webapp打包进去 pom.xml 在build 里加入下面的依赖即可 <!-- resources插件,在打jar包时可以将webapp目录下的文件进行打包 --&g ...
- Ubuntu16 升级nodejs版本
Ubuntu16下,使用apt-get下载的nodejs最新版本为v4.2.6,而react-native需要v8.x及以上的版本 解决方法在网上找到了这一篇博客Ubuntu安装最新版nodejs,用 ...