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 ...
随机推荐
- 技术胖Flutter第三季-16Stack层叠布局
16Stack层叠布局 在上面声明一个变量Stack里面包含两个元素,第一个 是CircleAvater第二个子对象是Container 效果 把文字房子啊中下的位置: 我们需要对齐属性 包含了x轴和 ...
- 为何在有 DOCTYPE 的 HTML 文档之上仍然还会出现混杂模式?
不使用 DOCTYPE 一定会使 HTML 文档处于混杂模式,然而使用了 DOCTYPE,也不一定就能够使文档在所有浏览器中均处于标准模式. DOCTYPE 本身不就是一个“开关”吗?为何在有 DOC ...
- SqlServer2012——快照
1.数据库快照 优点: 维护历史数据以生成报表.由于数据库快照可提供数据库的静态视图,因而可以通过快照访问特定时间点的数据. 将查询实施在数据库的快照上,可以释放主体数据库上的资源. 数据库快照的限制 ...
- java web 学习-网络资源
[网络收集] 1. JavaWeb学习总结——JSP中的九个内置对象 2. Jsp九大内置对象以及四个作用域 他人学习汇总资源 1. http://www.cnblogs.com/xdp-gacl/t ...
- C++设计模式之工厂方法模式
来自:http://blog.csdn.net/pangshaohua/article/details/38912555 参考写的一个工厂demo 1.定义"背景风格的抽象类".& ...
- lightoj 1085【离散化+树状数组】
题意: 求所有的上升子序列种数: 思路: 我想先离散化一下,然后用树状数组维护一下. 最终答案就是sum(n) ? 卧槽,好像是:然后就过了.. #include <bits/stdc++.h& ...
- ISCC 2018线上赛 writeup
今天有机会去ISCC2018参加了比赛,个人的感受是比赛题目整体难度不高,就是脑洞特别大,flag形式不明确,拿到flag后也要猜测flag格式,贼坑 废话不多说,以下是本人的解题思路 MISC 0x ...
- 转 java ClassLoader
http://blog.csdn.net/xyang81/article/details/7292380 http://www.ibm.com/developerworks/cn/java/j-lo- ...
- C - 不要62
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> ...
- nutzboot dubbo zookeeper简单使用
提供方和消费方properties 配置基本差不多 nutz.application.name这个值不一样 提供方配置自动端口就行server.port=0 消费方一般需要对外提供web服务配置ip和 ...