git全套详细教程
git安装
- 首先,我们要去git的官网下载一个git安装包,双击到无关紧要的步骤我就不详细描述了,直接介绍我们关键的步骤。
选择git包含的内容和打开方式
选择都很清晰,具体情况我不是很清楚,不过选择中间集成资源管理器的好处是左面右键菜单添加了bash和gui,如下图
选择你使用git的方式
- bash就是git安装后自带的类似于cmd或者说是powershell的控制台;
- 在window命令提示符中使用git就是用cmd.exe
- 至于第三个是和Linux有关的,使用Linux的同学可选第一个或者最后一个
选择配置结束后的转换
这个的意思是最后按照哪个样式提交,请忽略这蹩脚的翻译,这里推荐使用默认的提交方式!
选择使用的控制台
这个随意就行!我是两个都在用,因为可以给git配置运行环境,在哪儿运行都是OK的
后面的都可以选择默认的选项就是
ok!安装完成之后呢开始本地环境的配置,虽然git安装会自动配置运行环境(尤其是安装的有sublime或者vscode时),不过还是自己检查一下比较好
万恶的环境变量配置
计算机右键–>属性–>高级系统设置–>环境变量–>Administrator/和system变量,没有要选择新建哦
- 这里一定要注意环境变量的位置是git.exe的位置
本地环境配置
基本信息设置
- 设置用户名 和 邮箱
git config --global user.name 这里是你的用户名
git config --global user.email example@email.com
- 1
- 2
假如设置我的用户名为WytheO,邮箱为baidu@163.com
git config --global user.name WytheO
git config --global user.email baidu@163.com
- 1
- 2
- 创建或克隆一个本地目录作为你的代码实验仓库
比如在我的D盘baidunote目录下的StudyContainer目录下创建我的代码仓库
cd d:/baidunote/StudyContainer
git init //初始化为git仓库
- 1
- 2
- 3
然后会看到一个成功的信息
Initialized empty Git repository in /baidunote/StudyContainer/.git
//默认情况下呢,这个.git是不给你看的,隐藏的,存储基本配置信息的
- 1
- 2
如果是克隆别人的代码仓库?
git clone https://github.com/WytheO/StudyContainer.git
- 1
迷路的同学去图片上的这个位置找,每个项目的这里都有一个https的git地址
当然,这个克隆是保存在你当前所在的路径目录里,不清楚路径的同学可以去看看路径和文件的命令行操作,这里就不再赘述了,不过我欢迎大家用我的项目测试,大家可以互相学习,或者在我的github下留言
- 设置本地用户别名
git remote add origin https://github.com/WytheO/StudyContainer.git
- 1
起一个名叫origin的别称代替后面的这一长串网址位置,这样的话,在后面的push就可以用这个别称代替:
git push -u origin master //master是以master主分支来提交你的代码
- 1
下面以我目前正在使用的用户WytheO为例展示配置后的效果
- 经历初始化、配置本地仓库、配置别名等候的结果如下,至于里面有个OuyangMaster的用户是使用ssh公钥私钥实现无密码上传代码,我会在后面详细介绍。
有了代码仓库后怎么上传我们的代码呢?
- 首先来看一下git的工作原理
这里的git仓库是网络中显示在其他用户面前的地方;暂存区是commit的目标;工作区是add的目标。有其他语言基础的同学,我喜欢将工作区解释为缓存区,类似于系统内存或者虚拟内存,存着数据等待着传到新的位置而修改,而暂存区我喜欢解释为最终管理器,所有的内容将通过这个管理器提交到服务器上,让内容呈现在用户面前,在网页上得以显示。
- 在自己初始化的代码仓库或者克隆的仓库里修改了文件后,在shell或者bash里进入到当前目录。然后检查修改情况、压入缓存、提交、上传:
git status //检查修改状况
git add . //压入缓存,或者说工作区
git commit -m "has changed by master" //提交入管理器,或者说暂存区
git push -u OuyangM master //以主干master提交代码
- 1
- 2
- 3
- 4
- 效果就是这样的啊!
前方高能!!!配置ssh key
可参考的英文git教程
- 首先,mac和Linux都是自带sshkey的,如果是windows可能需要新建sshkey
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
//Generating public/private rsa key pair.
Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]
//选择sshkey的保存目录位置,默认是C根目录的用户目录下
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
//输入使用sshkey的时候的密码,我用ssh可以就是为了不用密码,设它干啥, 直接回车默认不设置密码
eval $(ssh-agent -s)
//Agent pid 59566
ssh-add ~/.ssh/id_rsa
//将sshkey加入代理
clip < ~/.ssh/id_rsa.pub
//如果你的sshkey是保存在默认路径下,使用上面的命令就可以复制入剪贴板,否则后面要自己修改路径!
cat ~/.ssh/id_rsa.pub //查看你的sshkey公钥,去掉.pub查看私钥,然后光标选中右键复制即可
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 然后登录自己的github账户,找到下面的地方直接粘贴添加sshkey就OK
- 点击Add SSH key后会弹出密码确认
- 添加成功后就是这样的
- 然后测试sshkey是否真的添加成功!!!输入自己的邮箱会超时!!!以为老马没有这个服务。。。
- 那么为了方便sshkey使用,肯定和前面一样要起个别名啊,首先你要找到和上面http地址一样效果的sshkey地址
如果你一开始就注意到了那个use ssh,那么你是非常棒的!复制好ssh地址,接下来就是用到它的时候了
git remote -v //显示当年你起了别名的地址
git remote remove name //删除你看不顺眼的别名
git remote add OuyangMaster git@github.com:WytheO/StudyContainer.git //给sshkey的地址起个别名,将OuyangMaster换成你要的名字
//接下来就是按照正常步骤上传,add commit push,只是不用再输密码了
- 1
- 2
- 3
- 4
这是上传后的结果
在此说一句不一样的地方
- github是个非常人性的网站
我最后上传的文件夹中包含了三个readme1/2/3.md的文件,分别用的ANSI编码、UTF-8、Unicode三种编码格式,都没有在头部声明编码格式,来看一下网页上打开后的效果
- ANSI格式
- UTF-8格式
- UNICODE格式
- 来看看人性化的地方
git全套详细教程的更多相关文章
- Git使用详细教程(一)
很久不发博客,最近有兴趣想写点东西,但 Live Writer 不支持从Word复制图片,疯狂吐槽下 Git使用详细教程(一) Git使用详细教程(二) 该教程主要是Git与IntelliJ IDEA ...
- 项目版本管理Git使用详细教程
前言 记得刚开始做项目开发的时候都是一个人完成一个项目,单打独斗的开发,也不知道什么是团队开发,没有这个概念,随着工作后来知道公司里项目都是团队开发,这个时候这么多人怎么开发一个项目呢,难道用u盘拷贝 ...
- git超详细教程
GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Gi ...
- Git使用详细教程(9):git log
目录 格式化 检索 显示最近提交 Git中使用git log查看提交日志 如果日志很多的话,默认会以分页方式展示 空格可以翻下一页,ctrl+b翻上一页,q退出 格式化 如果想获取每条日志的简要信息, ...
- Git使用详细教程(1):工作区、暂存区、本地仓库、远程仓库
之前的写过一篇如何在服务器上搭建Git服务Git服务器搭建,接下来的一段时间,我将详细的讲解Git的使用.看如下一张图片,本篇主要理解一些基本概念. 图中几个名词的意思如下: workspace: 工 ...
- git超详细教程【转】
转自:http://blog.csdn.net/liuwengai/article/details/52072344 GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流 ...
- [置顶]
Git学习总结(1)——Git使用详细教程
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...
- 5.Git使用详细教程
转自:https://www.cnblogs.com/seven-ahz/p/7712125.html 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的 ...
- Git使用详细教程(二)
分支 其实在项目clone下来后就有一个分支,叫做master分支.新建分支的步骤:右键项目→Git→Repository...→Branches... master分支应该是最稳定的,开发的时候,建 ...
随机推荐
- 基于RSA的前后端登陆密码加密JAVA实现(转)
RSA加密算法简介 SA加密算法是一种非对称加密算法.在公开密钥加密和电子商业中RSA被广泛使用.对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法愈 ...
- 六、JVM — JDK 监控和故障处理工具
JDK 监控和故障处理工具总结 JDK 命令行工具 jps:查看所有 Java 进程 jstat: 监视虚拟机各种运行状态信息 jinfo: 实时地查看和调整虚拟机各项参数 jmap:生成堆转储快照 ...
- 通过编写串口助手工具学习MFC过程——(六)添加Edit编辑框控件
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- elementUI 等 UI框架中,@change方法传递参数
有些业务中,在使用 @change 回调的时候需要动态获取当前循环下的特定值,但是@change方法一旦传递参数就会覆盖原本的数据,对此,有两种方法解决: // 这种方法据说会改变 this 指向 ...
- mongodb连接警告修复
问题 Node.js中mongoose模块连接MongoDB数据库时提示(node:12580) DeprecationWarning: current URL string parser is de ...
- background的水平条纹和斜向条纹
水平条纹: <div id="div1"> </div> linear-gradient属性 #div1{ width: 100px; height: 10 ...
- JavaEE高级-Spring Data学习笔记
Spring Data概述 - Spring Data : Spring 的一个子项目.用于简化数据库访问,支持NoSQL 和 关系数据存储.其主要目标是使数据库的访问变得方便快捷. - Spring ...
- 15.Linux-CentOS系统重启网卡ping不通问题(云环境)
问题: CentOS系统网络不通,重启网卡后能ping通,等一会就又不通. 解决: 在云环境管理平台下,KVM系统的MAC地址,使其重新生成一下.
- 【学习】019 SpringBoot
一.SpringBoot介绍 1.1.SpringBoot简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配 ...
- Saving James Bond - Easy Version
题目来源: 浙江大学在慕课网上开设的<数据结构>课,陈越老师.何钦铭老师主讲,课后作业的一道题. 题目描述: 题目思路: 这道题目本质上讲就是列出图的连通集,但是这个连通集的起点是有约束的 ...