git介绍
分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具;
保存点 : Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该保存点将多人提交的源码合并, 也可以会退到某一个保存点上;
Git离线操作性 :Git可以离线进行代码提交, 因此它称得上是完全的分布式处理, Git所有的操作不需要在线进行; 这意味着Git的速度要比SVN等工具快得多, 因为SVN等工具需要在线时才能操作, 如果网络环境不好, 提交代码会变得非常缓慢;
Git基于快照 : SVN等老式版本控制工具是将提交点保存成补丁文件, Git提交是将提交点指向提交时的项目快照, 提交的东西包含一些元数据(作者, 日期, GPG等);
Git的分支和合并 : 分支模型是Git最显著的特点, 因为这改变了开发者的开发模式, SVN等版本控制工具将每个分支都要放在不同的目录中, Git可以在同一个目录中切换不同的分支;
分支即时性 : 创建和切换分支几乎是同时进行的, 用户可以上传一部分分支, 另外一部分分支可以隐藏在本地, 不必将所有的分支都上传到GitHub中去;
分支灵活性 : 用户可以随时 创建 合并 删除分支, 多人实现不同的功能, 可以创建多个分支进行开发, 之后进行分支合并, 这种方式使开发变得快速, 简单, 安全。
总结起来git相比svn等集中式版本控制工具的优点是:
- 分布式结构,不依赖于中央服务器,丢失代码的风险降低。
- 不需要联网就能提交,高可用性。
- 支持强大的分支管理,分支间的切换可在同一目录,并且分支间的切换的速度很快。
当然git 也有一些缺点,就是对权限的控制比较弱,估计也因为git的创始人是开源精神的支持者,所以认为绝大部分源代码都应该是公开的。不过也有一个工具可以支持git的权限控制 Gitolite。
Git通用客户端官方下载地址
Git软件安装
欢迎界面 : 直接下一步;
协议 : 必须接受;
安装位置 : 预留100M空间, 自定义安装位置;
选择安装组件 :也可以默认选择;
— 图标组件(Addition icons) : 选择是否创建快速启动栏图标 或者 是否创建桌面快捷方式;
— 桌面浏览(Windows Explorer integration) : 浏览源码的方法, 单独的上下文浏览 只使用bash 或者 只用Git GUI工具; 高级的上下文浏览方法 使用git-cheetah plugin插件;
— 关联配置文件 : 是否关联git配置文件, 该配置文件主要显示文本编辑器的样式;
— 关联shell脚本文件 : 是否关联Bash命令行执行的脚本文件;
— 使用TrueType编码 : 在命令行中是否使用TruthType编码, 该编码是微软和苹果公司制定的通用编码;
开始菜单快捷方式目录 : 设置开始菜单中快捷方式的目录名称, 也可以选择不再开始菜单中创建快捷方式;
设置环境变量 : 选择使用什么样的命令行工具, 一般情况下我们默认使用Git Bash即可, 默认选择;
— Git自带 : 使用Git自带的Git Bash命令行工具;
— 系统自带CMD : 使用Windows系统的命令行工具;
— 二者都有 : 上面二者同时配置, 但是注意, 这样会将windows中的find.exe 和 sort.exe工具覆盖, 如果不懂这些尽量不要选择;
选择换行格式 :
— 检查出windows格式转换为unix格式 : 将windows格式的换行转为unix格式的换行在进行提交;
— 检查出原来格式转为unix格式 : 不管什么格式的, 一律转为unix格式的换行在进行提交;
— 不进行格式转换 : 不进行转换, 检查出什么, 就提交什么;
开始安装 :
安装结束 : over;
配置GitHub
在开始菜单找到Git Bash右键属性,修改Git Bash的配置 : 将Git Bash设置为快速编辑模式, 可以更好的使用该命令行工具 :
创建本地ssh(一种传输代码的方法,速度快安全。详细可去百度查资料)(也可以选择HTTPS传输,那就跳过此步。)
ssh-keygen -t rsa -C "13241153187@163.com"
GitHub邮箱 : 该命令后面的邮箱就是GitHub的注册邮箱;
路径选择 : 使用该命令之后, 会出现提示选择ssh-key生成路径, 这里直接点回车默认即可, 生成的ssh-key在默认路径中;
密码确认 : 这里我们不使用密码进行登录, 用密码太麻烦;
将ssh配置到GitHub中
进入生成的ssh目录 : C:\Documents and Settings\Administrator\.ssh (或者 C:\Users\自己电脑用户名\.ssh)中, 使用记事本打开 id_rsa.pub 文件, 将该文件中的内容复制;
id_rsa.pub 文件内容 :
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtT1YCeaNulpfC+ARqAWrCdfpi6CpW3gkGT0hp6Q8by7NnEfy4dah9CwSrNbWJH5eS4tiqckE+bdbSVNvAboFD1MtGZjtzE4GDweG/6J/SDYV/ADFN/RLWGb+5rQ8wMCjc/fODgLJDFxk1Fwk/TTqTcbtLab1toLcts3zGIW5DstA3RQ0CCX/sPew5m7vh7DcKXluj2TBd9hw== 13241153187@163.com
进入GitHub网站 : 登录GitHub, 选择Account Setting 用户设置:
选择左侧的SSH-KEY选项 :
点击右侧的Add SSH key :
将上面复制好的ssh-key复制进去 :
验证是否配置成功 :
ssh -T git@github.com
验证时可能让你输入YES。
成功提示 : 如果出现Hi han1202012! You’ve successfully authenticated, but GitHub does not provide shell access. 就说明配置成功, 可以连接上GitHub;
配置本地用户和邮箱
用户名邮箱作用 : 我们需要设置一个用户名 和 邮箱, 这是用来上传本地仓库到GitHub中, 在GitHub中显示代码上传者;
使用命令 :
git config --global user.name "HanShuliang" //设置用户名 git config --global user.email "13241153187@163.com" //设置邮箱
到此Git客户端已安装及GitHub配置完成,现在可以从GitHub传输代码了。
设置Git默认目录为本地项目开发库
如果设置了,就不用每次打开Git再cd打开目录了。方法:右键git快捷图标(名叫:Git Bash),找到快捷方式-起始位置,把你的项目地址放在这里就可以了。
新版Git设置如下图:
旧版Git设置如下图:
相关推荐
git学习笔记(git学习笔记).md
在“git学习笔记”中,我们通常会涵盖以下几个核心知识点: 1. **Git安装与配置**:首先,我们需要了解如何在不同的操作系统(如Windows、MacOS或Linux)上安装Git,并设置用户信息,包括用户名和邮箱,这些信息会...
远程仓库的使用通常需要配置各种选项,包括自定义Git、配置文件设置、管理公钥和权限、服务的安装与维护等。配置文件中的设置可以控制Git的各种行为,包括别名、忽略文件原则、以及如何与其他服务如GitLab的交互。 ...
Git学习笔记干货 Git 是什么? Git 是目前世界上最先进的分布式版本控制系统。版本控制系统是指一种记录、跟踪和管理代码变动的系统。Git 的出现解决了手动管理多个“版本”的问题,使得多人协作编辑变得更加方便。...
Git安装,git学习笔记,zhang
GIT学习笔记
个人github、git学习笔记。包含Github和git的基础命令和介绍。由于网络问题在国外很难插入图片,把源文件的pdf导出版本进行上传。
Git学习笔记目标规划,大学学习可以用到,也可以用于自我检测
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件
HTML CSS JS 学习、git-笔记HTML CSS JS 学习、git-笔记 HTML CSS JS 学习、git-笔记HTML CSS JS 学习、git-笔记 HTML CSS JS 学习、git-笔记HTML CSS JS 学习、git-笔记 HTML CSS JS 学习、git-笔记HTML CSS JS ...
### Git学习笔记——入门篇 #### 一、Git简介与安装 **Git**是一种分布式版本控制系统,用于跟踪计算机文件的变化,并协调多个用户之间的共享工作。它最初由Linus Torvalds于2005年创建,目的是为了更高效地管理...
git学习笔记
相关git学习笔记上传
自己整理的git学习笔记,能够很容易地学会应用git
打开md文件,优先推荐使用typora
我的Git学习心得记录,根据廖老师的教程学习记录,希望对你有帮助
Git.xmind 笔记
### Git学习笔记 #### 一、Git概述与配置 **Git**是一种分布式版本控制系统,用于追踪计算机文件的更改,并协调由多人共同开发的项目。它最初由Linus Torvalds于2005年创建,旨在支持Linux内核的开发。 - **Git...