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 ...
随机推荐
- qq开放平台可以应用到网页游戏的api整理
创建角色界面api整理 一.需求描述 1. 创建角色名称可以用qq空间昵称代替 2. 如果玩家是在新区玩的话,赠送老玩家支持礼包 3. 可以看到,好友xxx也在玩,而且到了多少等级,如果加为好友 ...
- 【废弃中】JavaScript 式与运算符
创建: 2017/09/25 更新: 2019/01/14 修改标题 [JavaScript 式与运算符] -> [JavaScript 式与主要Object的方法] 更新: 2019/02/ ...
- lightoj1072【简单数学】
题意: 一个大圆的半径,里面有相邻的n个小圆,求这些小圆的半径: 思路: x=sin(2π/n); r=x*R/(1+x); #include <bits/stdc++.h> using ...
- HDU5119【dp背包求方案数】
题意: 有n个数,问有多少方案满足取几个数的异或值>=m; 思路: 背包思想,每次就是取或不取,然后输出>=m的方案就好了. #include <bits/stdc++.h> ...
- 在指定的ChartArea中显示Series
WinForm的Chart有Series, ChartArea,输出图表就往Serie里扔数据就可以了,很方便是吧.我原想Area和serie有上下级关系,可是我错了,Area和Serie并没有上下级 ...
- 生产者消费者 java.util.concurrent.lock包
package com.mozq.thread.producer2; import java.util.concurrent.locks.Condition; import java.util.con ...
- C - How Many Tables
#include <cstdio> #include <cstdlib> #include <iostream> #include <algorithm> ...
- [题解](树的计数)luogu_P4430猴子打架_/_luogu_P4981父子
来源:题解 比较不错的博客:http://www.cnblogs.com/dirge/p/5503289.html 最后生成一颗无根树,有n^(n-2)种情况,打架的顺序有(n-1)!种 #inclu ...
- [題解]luogu_P1854 花店櫥窗佈置
來源:題解 一開始看不懂題目,一萬年了終於看懂 f [ i ] [ j ] 表示第i朵花放在第j個花瓶中最大美學值,(花是必須用完嗎?) 顯然放i-1朵花至少要放到前i-1個瓶子里,最多放到前j-1個 ...
- python中的计时器:timeit模块
python中的计时器:timeit模块 (1) timeit - 通常在一段程序的前后都用上time.time()然后进行相减就可以得到一段程序的运行时间,不过python提供了更强大的计时库:ti ...