git快速入门(MAC系统,github,ssh key)
如果使用过svn的话,git大致可以认为是多了本地库的svn。git先本地提交commit到本地库,然后再push到远程服务器的库。
git是分布式的代码管理工具,基于SSH协议。ssh的作用就是为了不用每次都输入账号和密码。
生成的ssh密钥,分为公钥和私钥。公钥就是所要添加的ssh key(.pub文件)。公钥可以看成是一个锁头,私钥就是对应的钥匙。生成的ssh密钥是可以用到不同的地方的,比例同时添加到github,coding的平台。
没有github账号的,先注册一下https://github.com/
github的ssh配置如下:
一 、在终端中设置git的user name和email:
git config --global user.name "wurs"
git config --global user.email "522970682@qq.com"
下面指令可以进入当前用户目录,~在终端中是指当前用户的目录,即/users/你的用户名,这样一个目录。(用户的文件基本上都是用该目录下,包括下载、桌面等目录。)
cd ~
执行下面指令查看当前目录
pwd
执行如下命令,能查看是否配置成功:
cat .gitconfig
sourceTree对应的位置:(知道一下就行,后面再学习sourceTree)
二、生成SSH密钥过程:
1.终端中执行如下命令,进入.ssh文件夹,查看是否已经有了ssh密钥:
cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
2.生成密钥:
ssh-keygen -t rsa
Enter file in which to save the key (/Users/rason/.ssh/id_rsa):
这里是输入文件名,直接回车的话,则使用默认名id_rsa。
Enter passphrase (empty for no passphrase):
这里是输入密钥密码,直接回车的话,密码为空。
Enter same passphrase again:
这里是再次输入密钥密码,直接回车的话,密码为空。该密码就是使用该密钥所需要输入的密码。
以上可以直接3个回车,则密码为空,生成文件名为id_rsa的两个文件。
Your identification has been saved in /Users/rason/.ssh/id_rsa.
Your public key has been saved in /Users/rason/.ssh/id_rsa.pub.
The key fingerprint is:
………………
看到如上提示,说明已经生成成功。
ssh-keygen -t rsa生成的文件会在如下目录中:
cd ~/.ssh
进入.ssh目录后,执行如下命令,可以在finder中查看生成的文件。
open .
3.添加该密钥:ssh-add -K 文件名
ssh-add -K id_rsa
需要之前输入的密码,文件名为之前输入的文件名,若之前是直接输入回车,则默认文件名为id_rsa。(若不是当前目录,文件名记得要带上路径)
执行如下命令,可以查看当前文件
ls
4.查看公钥,并复制红色部分
cat id_rsa.pub
5.在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥,就是刚才红色部分。
打开https://github.com/ ,登录之后,点击右上角的头像里面的setting,然后左边栏中点击SSH and GPG keys,然后是New SSH key,添加进去即可。
6.测试是否连接成功:ssh git@github.com
PTY allocation request failed on channel 0
Hi air1120! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
有以上信息,说明已经成功。
三、github的创建项目的演示(视频) <---看完左边这个视频
https://github.com/ 登录之后,创建githubCreate
把项目拉下来,当前终端的目录在哪里,项目就会被拉取到哪个目录下。
git clone git@github.com:air1120/githubCreate.git
已经成功拉下来了。
四、刚才已经通过git clone拉取了源码,终端继续输入
cd githubCreate
open .
能看到已经拉取成功
接下来是创建xcode项目,并添加到该git项目中,查看在线视频
1.已经成功把远程的库,拉取到本地。
2.现在需要创建一个新的项目,并push到github上。
3.需要知道的一些基本的操作
- 查看仓库的当前状态,查看当前文件的修改情况。(这步一般要检查一下,防止手误添加多余的文件)
git status - 把某个文件保存到暂存区域。
git add 文件名 - 把所有文件保存到暂存区域
git add -A - 提交暂存区域的修改到本地库
git commit -m "修改内容" - 查看commit的操作日志,看下是否已经成功
git log - 恢复某个文件的修改,若存在暂存区域的话,就恢复到暂存区域的状态,若不存在暂存区域的话,就恢复到本地库的状态。
git checkout 文件名 - 下面的.是表示所有文件
git checkout . - 若存在暂存区域,就是工作区与暂存区域的具体差异,若不存在暂存区域,则是工作区与本地库的具体差异。
git diff有时间的话,看完下面的教程就都会了,通俗易懂,不过还是要花不少时间:
- Git教程(全面、浅显易懂)
作者:RasonWu
链接:http://www.jianshu.com/p/f008d9fe3f34
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
git快速入门(MAC系统,github,ssh key)的更多相关文章
- Git 快速入门--Git 基础
Git 快速入门 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 G ...
- git快速入门 push/clone/reset/merge/切换分支全都有
本文介绍git快速入门,从安装/创建init / 发布push/版本回退reset / branch分支切换/合并分支merge 这些基本的操作都有涉及,方便新人快速入手,有需要的朋友mark一下.首 ...
- 使用Github SSH Key来避免Hexo部署时输入账户密码
博客原文:http://fengyao.me/2016/04/10/use-git-ssh-key-carry-hexo-deploy/ 前言 当hexo使用https方式连接Github时,每次执行 ...
- GitHub SSH key
GitHub SSH key https://help.github.com/en/github/authenticating-to-github steps HTTPS clone !== SSH ...
- Git快速入门进阶篇
本文接着Git快速入门篇,继续探讨Git在管理项目中的一些应用. 远程仓库的使用 查看远程仓库 查看你已经配置的远程仓库服务器,可以运行 git remote 命令.指定选项 -v,会显示需要读写远程 ...
- github入门:设置添加ssh key<转>
GitHub是个分布式的版本控制库.github通过git使用,可以方便的记录代码版本. 通过github可以学习优秀的代码,可以改进提交其他项目中的bug,借助社区力量促进软件优化完善. 国内外大量 ...
- Git与GitHub学习笔记(七)Windows 配置Github ssh key
前言 SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell.SSH登录是需要用户 ...
- MAC如何生成SSH key与GitHub关联
一.检查 SSH key 是否存在 在终端输入如下代码: ls -al ~/.ssh 如果没有,终端显示如下: No such file or directory 如果有,终端显示如下: ➜ ~ ls ...
- git生成ssh key及github ssh key对接
首先在本地安装好git工具并配置好环境变量 创建一个文件夹,在此处打开git bash: 命令>cd ~/.ssh 查看是否已经配置ssh 命令>git config --global ...
随机推荐
- 利用python数据分析panda学习笔记之基本功能
1 重新生成索引 如果某个索引值不存在就引入缺失值 from pandas import Series,DataFrame import pandas as pd import numpy as np ...
- JAVA基础--JAVA API常见对象(包装类和正则)12
一.基本类型包装类 1.基本类型包装类介绍 8种基本类型: byte short int long float double char boolean 这8种基本类型它 ...
- 给定一个数字n,生成n对可能的小括号组合
示例: 输入:n为3 输出:[ "((()))", "(()())" "(())()", "()(())", " ...
- POJ2406【KMP-next数组】
关于next的解释原文:点点点 //#include <bits/stdc++.h> #include<cstdio> #include<string.h> #in ...
- uoj#275. 【清华集训2016】组合数问题(数位dp)
传送门 假设有\(k|{n\choose m}\),因为\(n!\)中质因子\(k\)的次数为\(S(n)=\left\lfloor\frac{n}{k}\right\rfloor+\left\lfl ...
- P4363 [九省联考2018]一双木棋chess(对抗搜索+记忆化搜索)
传送门 这对抗搜索是个啥玩意儿…… 首先可以发现每一行的棋子数都不小于下一行,且局面可由每一行的棋子数唯一表示,那么用一个m+1进制数来表示当前局面,用longlong存,开map记忆化搜索 然后时间 ...
- 自定义socket 模拟B/S服务端
目录 通过什么实现连接? B/S 客户端与服务端交互过程 socket server端 python代码 (静态html反馈) socket server端 python代码 (动态html反馈) 小 ...
- 利用Web服务生成产品编号 执行添加操作
为什么我想要执行添加操作,却添加不成功,系统提示我comm.ExecuteNonQuery有错误 已找到原因 在 string strsql = "insert into tb_goods( ...
- Eclipse - 安装了jd-eclipse插件后依然无法反编译类文件
问题 Eclipse在安装了jd-eclipse插件后依然无法反编译类文件,这个问题是因为没有修改默认的类文件查看器. 解决方法 修改默认的类文件查看器为jd-eclipse Window -> ...
- SpringBoot | Data Access
https://docs.spring.io/spring-boot/docs/current/reference/html/howto-data-access.html 配置数据源启动器.