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 ...
随机推荐
- C#字典常用技巧
说明 必须包含名空间System.Collection.Generic Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而值不需要唯 ...
- SQL2005恢复只有mdf文件的数据库
我把原来的数据库分离后,直接把日志文件给干掉了.原来在SQL 2000里经常这么干,只用一个mdf就附加了.没想到sql2005居然不行.我试验了一圈 终于找到一个成功的方法.转载,供后来者参考. S ...
- LeetCode: 476 Number Complement(easy)
题目: Given a positive integer, output its complement number. The complement strategy is to flip the b ...
- [Offer收割]编程练习赛46
[Offer收割]编程练习赛46赛后题解 A.AEIOU 分析
- 洛谷 P4704 太极剑【贪心】
首先考虑分割线能分割一条线当且仅当分割线一个端点在这条线的ab中间,另一端点在外面,也就是分割线对应的一条弧不能同时有这条线的两个端点 每条线的两端点都染同色,然后分段,一段里面颜色互不相同,分割线就 ...
- 茅台【思维/数学/剪枝】By cellur925
题目传送门 给你\(n\)根木棍,问有多少种方法,使得选出的三根木棍能组成三角形. 开始想要用搜索的,但是写着写着卡壳了(?),于是改用贪心,开始对拍,觉得很稳,只是最后两个数据可能有点卡.很第一题难 ...
- Java程序员都应该去使用一下这款强大的国产工具类库
这不是标题党,今天给大家推荐一个很棒的国产工具类库:Hutool.可能有很多朋友已经知道这个类库了,甚至在已经在使用了,如果你还没有使用过,那不妨去尝试一下,我们项目组目前也在用这个.这篇文章来简单介 ...
- js实现打印正三角
代码: <html> <head> <title>function</title> </head> <body> <scr ...
- 选择器 nth-child和 nth-of-type的区别
<ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li&g ...
- tensorflow:实战Google深度学习框架第四章02神经网络优化(学习率,避免过拟合,滑动平均模型)
1.学习率的设置既不能太小,又不能太大,解决方法:使用指数衰减法 例如: 假设我们要最小化函数 y=x2y=x2, 选择初始点 x0=5x0=5 1. 学习率为1的时候,x在5和-5之间震荡. im ...