百度前端技术学院是一个为大学生创办的免费的前端技术实践、分享、交流平台。由百度校园招聘组、百度校园品牌部、百度前端技术部以及多个百度的前端团队联合创办。学院组织了一批百度在职工程师,精心编写了数十个实践编码任务,将技术知识点系统有机地串联在各个充满趣味与挑战的任务中,同学们通过实际地编码练习来掌握知识,再辅以互相评价、学习笔记等方式,加深对于学习内容的理解。在过去的三年中,百度前端技术学院累积吸引了上万名同学参加,并且有数十名同学在学习后,顺利加入了百度,成为了百度的前端工程师。

git进阶,ssh和命令行

作者欧阳志强课程第九天到第十一天:来做一个漂亮的网站932次浏览12018-05-10 23:21

非常抱歉的地方

  • 因为对于图床概念的疏忽,导致上传的笔记图片都会出现失效问题,但是CSND里的博客都是没有问题的,问题就在于其他博客网站对于用户的图片访问权限设置会造成其他用户访问时反馈403错误,所以,我正在努力用图床替换所有笔记的图片地址,大家如果看到什么不正常的地方,请移步我的CSDN博客:会飞的小鹿,上面有完整的图片解释!抱歉!!!

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
  • 假如设置我的用户名为WytheO,邮箱为baidu@163.com
git config --global user.name WytheO
git config --global user.email baidu@163.com
  • 创建或克隆一个本地目录作为你的代码实验仓库
  • 比如在我的D盘baidunote目录下的StudyContainer目录下创建我的代码仓库
cd d:/baidunote/StudyContainer

git init //初始化为git仓库
  • 然后会看到一个成功的信息
Initialized empty Git repository in /baidunote/StudyContainer/.git
//默认情况下呢,这个.git是不给你看的,隐藏的,存储基本配置信息的
  • 如果是克隆别人的代码仓库?
git clone https://github.com/WytheO/StudyContainer.git
  • 迷路的同学去图片上的这个位置找,每个项目的这里都有一个https的git地址

  • 当然,这个克隆是保存在你当前所在的路径目录里,不清楚路径的同学可以去看看路径和文件的命令行操作,这里就不再赘述了,不过我欢迎大家用我的项目测试,大家可以互相学习,或者在我的github下留言

  • 设置本地用户别名

git remote add origin https://github.com/WytheO/StudyContainer.git
  • 起一个名叫origin的别称代替后面的这一长串网址位置,这样的话,在后面的push就可以用这个别称代替:
git push -u origin master //master是以master主分支来提交你的代码

下面以我目前正在使用的用户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提交代码
  • 效果就是这样的啊!

前方高能!!!配置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查看私钥,然后光标选中右键复制即可

  • 然后登录自己的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,只是不用再输密码了

  • 这是上传后的结果

在此说一句不一样的地方

  • github是个非常人性的网站

  • 我最后上传的文件夹中包含了三个readme1/2/3.md的文件,分别用的ANSI编码、UTF-8、Unicode三种编码格式,都没有在头部声明编码格式,来看一下网页上打开后的效果

  • ANSI格式

  • UTF-8格式

  • UNICODE格式

  • 来看看人性化的地方

最后希望大家都能学友所成!我是WytheO

因为在有道笔记和csdn中使用的Markdown插入了HTML的标签,在这边不支持,替换的时候可能有没有发现的错误,但不印象文字内容,希望大家能给我指出来,我好及时更改!

非常抱歉的地方

  • 因为对于图床概念的疏忽,导致上传的笔记图片都会出现失效问题,但是CSND里的博客都是没有问题的,问题就在于其他博客网站对于用户的图片访问权限设置会造成其他用户访问时反馈403错误,所以,我正在努力用图床替换所有笔记的图片地址,大家如果看到什么不正常的地方,请移步我的CSDN博客:会飞的小鹿,上面有完整的图片解释!抱歉!!!
0条评论