版本管理 - Git 使用入门
Git 是一个分布式的版本管理系统,而 SVN 是一个集中式管理系统。
版本控制
- Git与SVN的对比
对比 SVN Git 工作方式 集中式 分布式 文件管理 增量式 系统快照 权限控制 对团队中参与开发的人员进行权限控制 可接受团队外开发者贡献的代码并审核 - 版本控制工具分类
集中式版本控制工具(SVN、CVS)

缺点:服务器故障将产生单点故障分布式版本控制工具(Git、Mercurial、Bazaar...)

优点:本地具有完整版本历史
Git 简介
Git 资源
- 官网地址:https://git-scm.com
Git 优势
- 大部分操作在本地完成不需要联网
- 完整性保证
- 尽可能添加数据而不是删除或修改数据
- 分支操作非常快捷流畅
- 与 Linux 命令全面兼容
Git 结构
- 本地结构

- 本地结构
GitHub(代码托管中心)
- 局域网环境
- GitLab 服务器
- 互联网环境
- GitHub https://github.com/
- 码云 https://gitee.com/
- 局域网环境
本地库和远程库
团队内协作

团队外协作

命令行操作
本地库操作
本地库初始化
命令
git init
效果

注意:.git 目录中存放的是本地库相关的子目录和文件,不要删除和修改。
设置签名
- 形式
用户名:clxye
Email: chenlia2602@sina.com
- 作用:区分不同开发人员的身份
- 辨析:这里设置的签名和登陆远程库(代码托管中心)的账号、密码没有任何关系
- 命令
- 项目级别/仓库级别:仅在当前本地库范围内有效
// 设置本地账号信息
git config user.name clxye
git config user.emal chenlia2602@sina.com // 查看保存的信息
cat .git/config
- 系统用户级别:登陆当前操作系统的用户范围
// 设置系统账号信息
git config --global user.name clxye
git config --global user.emal chenlia2602@sina.com // 查看保存的信息
cat ~/.gitconfig
- 级别优先级
- 就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
- 如果只有系统用户级别的签名,就以系统用户级别的签名为准
- 二者都没有不允许
- 项目级别/仓库级别:仅在当前本地库范围内有效
- 形式
状态查看操作
git status
查看工作区、暂存区状态
添加操作
git add [file name]
将工作区的 “新建/修改” 添加到暂存区
提交操作
git commit -m "commit message" [file name]
将暂存区的内容提交到本地库
查看历史记录
// 详细日志信息
git log // 简洁日志信息
git log --pretty=oneline // 最简洁日志信息(只显示当前及以前版本日志)
git log --oneline // 移动到当前版本需要多少步(显示所有日志)
git reflog
前进后退



// 基于索引值(只需包含 git log --oneline 中的hash值)
git reset --hard 9a9ebe0 // 使用^符号(只能后退,一个^后退一步,N个后退N步)
git reset --hard HEAD^ // 使用~符号(只能后退,后退n步)
git reset --hard HEAD~3
删除文件并找回
git
比较文件差异
git
命令帮助
git
远程库操作
Git 图形化界面操作
Gitlab 服务器环境搭建
版本管理 - Git 使用入门的更多相关文章
- GIT 从入门到放弃大整理
跟着廖雪峰学 GIT http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 GUI f ...
- Git原理入门简析
为了获得更好的阅读体验,建议访问原地址:传送门 前言: 之前听过公司大佬分享过 Git 原理之后就想来自己总结一下,最近一忙起来就拖得久了,本来想塞更多的干货,但是不喜欢拖太久,所以先出一版足够入门的 ...
- Git原理入门解析
前言: 之前听过公司大佬分享过 Git 原理之后就想来自己总结一下,最近一忙起来就拖得久了,本来想塞更多的干货,但是不喜欢拖太久,所以先出一版足够入门的: 一.Git 简介 Git 是当前流行的分布式 ...
- git新手入门问题总结
git新手入门问题总结 前言 本人为2019年6月份刚刚毕业,大三暑假中旬来到上海,实习时间大致为十个月,在这十个月里面学到了许多关于git使用方面的知识 经常会逛开源中国水水动态,看看技术帖子学习知 ...
- Git【入门】这一篇就够了
前言 欢迎关注公众号,白嫖原创PDF,也可以催更,微信搜:JavaPub,回复:[666] Git 在生产工作中是使用频率很高的工具,但我发现很多文章只是对它做了简单的提交命令说明,真正遇到 版本冲突 ...
- 第三章 Git的入门 - 读书笔记
Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼 ...
- git简单入门
git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...
- Android系统移植与驱动开发--第三章 Git使用入门及在学习中有感
第三章 Git使用入门 使用Git的目的是减少各种版本的Linux的压缩大小,提供源代码在Linux上进行编译. 在这一个章节中,其实就是关键步骤的操作,虽然Git与我们学习的android没有很大的 ...
- 让 Python 带你进入开源的世界——Git 从入门到与他人协作开发
让 Python 带你进入开源的世界--Git 从入门到与他人协作开发 我认为开源社区中有很多优秀的资源,并且可以帮助进阶中的程序员提高编程能力和水平.所以,我发起了<HelloGitHub&g ...
随机推荐
- Linux、Windows 下手动生成 sha256 等类型的校验文件
目录 1 - 校验文件的作用 2 - Linux 下生成校验文件 3 - Windows 下生成校验文件 参考资料 版权声明 1 - 校验文件的作用 从网服务器下载文件,尤其是比较大的文件时,很容易由 ...
- xml的约束
一.DTD约束xml 1.约束介绍 由于xml的标签由用户自己定义,因此在开发的时候,每个人都可以根据自己的需求来定义xml标签,这样导致项目中的xml难以维护,因此需要使用一定的规范机制来约束xml ...
- NOIP 模拟 $18\; \rm 导弹袭击$
题解 \(by\;zj\varphi\) 一道凸包题 对于每个导弹,它的飞行时间就是 \(tim=\frac{A}{a_i}+\frac{B}{b_i}\) 我们设 \(x=\frac{1}{a_i} ...
- WPF 中的style 样式
WPF相较于以前学的WinForm,WPF在UI设计与动画方面的炫丽是最吸引我来学习的.在WPF中XMAL代码的引入使得代码的编写能够前后端分离,为获得更好的界面,也使得我们不得不分出一半的时间花在前 ...
- C++ 三数之和
来自leecode做题时,发现的双指针用法,觉得挺有意思所以记录一下 链接:https://leetcode-cn.com/problems/3sum 题目: 给你一个包含 n 个整数的数组 nums ...
- hive -- 外部表、内部表、临时表
1.外部表 关键字:EXTERNAL 外部表创建时需要指定LOCATION 删除外部表时,数据不被删除 CREATE EXTERNAL TABLE page_view(viewTime INT, us ...
- Mysql 中隐式转换
案例一:条件字段函数操作 假设你现在维护了一个交易系统,其中交易记录表 tradelog 包含交易流水号(tradeid).交易员 id(operator).交易时间(t_modified)等字段.为 ...
- 初识apache DBCP连接池
连接案例: 首先:我们使用的是mysql数据库,所以要有一个mysql和java的JDBCjar包: 然后是DBCP中的两个jar包,DBCP使用的话,需要两个包: dbcp.jar和pool.jar ...
- myScript调研,电子手写板使用,纯干货
第二天进公司,就叫我调研myScript作为手写板的可行性,又不能不做,哎~ myScript效果十分的奈斯,前端用canvas手写的文字.数学字符,都可以识别然后转换,不知道myScript是不是你 ...
- Ubuntu中添加desktop entry
创建desktop文件 gedit my_app.desktop 添加文件内容,在启动时,选择加载的bashrc文件,用于初始化,这样可以用不同的desktop entry启动不同的环境,提高打开环境 ...