如果使用过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

Paste_Image.png

执行如下命令,能查看是否配置成功:

cat .gitconfig

Paste_Image.png

sourceTree对应的位置:(知道一下就行,后面再学习sourceTree)

Paste_Image.png

二、生成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

Paste_Image.png

4.查看公钥,并复制红色部分

cat id_rsa.pub

Paste_Image.png

5.在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥,就是刚才红色部分。
打开https://github.com/ ,登录之后,点击右上角的头像里面的setting,然后左边栏中点击SSH and GPG keys,然后是New SSH key,添加进去即可。

Paste_Image.png

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 .

Paste_Image.png

能看到已经拉取成功

Paste_Image.png

接下来是创建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

    sourceTree的基本操作视频

    有时间的话,看完下面的教程就都会了,通俗易懂,不过还是要花不少时间:

  • Git教程(全面、浅显易懂)

作者:RasonWu
链接:http://www.jianshu.com/p/f008d9fe3f34
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

git快速入门(MAC系统,github,ssh key)的更多相关文章

  1. Git 快速入门--Git 基础

    Git 快速入门 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 G ...

  2. git快速入门 push/clone/reset/merge/切换分支全都有

    本文介绍git快速入门,从安装/创建init / 发布push/版本回退reset / branch分支切换/合并分支merge 这些基本的操作都有涉及,方便新人快速入手,有需要的朋友mark一下.首 ...

  3. 使用Github SSH Key来避免Hexo部署时输入账户密码

    博客原文:http://fengyao.me/2016/04/10/use-git-ssh-key-carry-hexo-deploy/ 前言 当hexo使用https方式连接Github时,每次执行 ...

  4. GitHub SSH key

    GitHub SSH key https://help.github.com/en/github/authenticating-to-github steps HTTPS clone !== SSH ...

  5. Git快速入门进阶篇

    本文接着Git快速入门篇,继续探讨Git在管理项目中的一些应用. 远程仓库的使用 查看远程仓库 查看你已经配置的远程仓库服务器,可以运行 git remote 命令.指定选项 -v,会显示需要读写远程 ...

  6. github入门:设置添加ssh key<转>

    GitHub是个分布式的版本控制库.github通过git使用,可以方便的记录代码版本. 通过github可以学习优秀的代码,可以改进提交其他项目中的bug,借助社区力量促进软件优化完善. 国内外大量 ...

  7. Git与GitHub学习笔记(七)Windows 配置Github ssh key

    前言 SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell.SSH登录是需要用户 ...

  8. MAC如何生成SSH key与GitHub关联

    一.检查 SSH key 是否存在 在终端输入如下代码: ls -al ~/.ssh 如果没有,终端显示如下: No such file or directory 如果有,终端显示如下: ➜ ~ ls ...

  9. git生成ssh key及github ssh key对接

    首先在本地安装好git工具并配置好环境变量 创建一个文件夹,在此处打开git bash: 命令>cd ~/.ssh  查看是否已经配置ssh 命令>git config --global ...

随机推荐

  1. qq开放平台可以应用到网页游戏的api整理

    创建角色界面api整理 一.需求描述 1.  创建角色名称可以用qq空间昵称代替 2.  如果玩家是在新区玩的话,赠送老玩家支持礼包 3.  可以看到,好友xxx也在玩,而且到了多少等级,如果加为好友 ...

  2. 【废弃中】JavaScript 式与运算符

    创建: 2017/09/25 更新: 2019/01/14 修改标题 [JavaScript 式与运算符] ->  [JavaScript 式与主要Object的方法] 更新: 2019/02/ ...

  3. lightoj1072【简单数学】

    题意: 一个大圆的半径,里面有相邻的n个小圆,求这些小圆的半径: 思路: x=sin(2π/n); r=x*R/(1+x); #include <bits/stdc++.h> using ...

  4. HDU5119【dp背包求方案数】

    题意: 有n个数,问有多少方案满足取几个数的异或值>=m; 思路: 背包思想,每次就是取或不取,然后输出>=m的方案就好了. #include <bits/stdc++.h> ...

  5. 在指定的ChartArea中显示Series

    WinForm的Chart有Series, ChartArea,输出图表就往Serie里扔数据就可以了,很方便是吧.我原想Area和serie有上下级关系,可是我错了,Area和Serie并没有上下级 ...

  6. 生产者消费者 java.util.concurrent.lock包

    package com.mozq.thread.producer2; import java.util.concurrent.locks.Condition; import java.util.con ...

  7. C - How Many Tables

    #include <cstdio> #include <cstdlib> #include <iostream> #include <algorithm> ...

  8. [题解](树的计数)luogu_P4430猴子打架_/_luogu_P4981父子

    来源:题解 比较不错的博客:http://www.cnblogs.com/dirge/p/5503289.html 最后生成一颗无根树,有n^(n-2)种情况,打架的顺序有(n-1)!种 #inclu ...

  9. [題解]luogu_P1854 花店櫥窗佈置

    來源:題解 一開始看不懂題目,一萬年了終於看懂 f [ i ] [ j ] 表示第i朵花放在第j個花瓶中最大美學值,(花是必須用完嗎?) 顯然放i-1朵花至少要放到前i-1個瓶子里,最多放到前j-1個 ...

  10. python中的计时器:timeit模块

    python中的计时器:timeit模块 (1) timeit - 通常在一段程序的前后都用上time.time()然后进行相减就可以得到一段程序的运行时间,不过python提供了更强大的计时库:ti ...