第一步:
官网下载 Git:
https://www.git-scm.com/download/
image.PNG
Git 介绍
分布式: Git 版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具.
保存点: Git 的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态; 可以在该保存点将多人提交的源码合并, 也可以回退到某一个保存点上.
Git 离线操作性: Git 可以离线进行代码提交, 因此它称得上是完全的分布式处理, Git 所有的操作不需要在线进行; 这意味着 Git 的速度要比 SVN 等工具快得多, 因为 SVN 等工具需要在线时才能操作, 如果网络环境不好, 提交代码会变得非常缓慢.
Git 基于快照: SVN 等老式版本控制工具是将提交点保存成补丁文件, Git 提交是将提交点指向提交时的项目快照, 提交的东西包含一些元数据(作者, 日期, GPG 等).
Git 的分支和合并: 分支模型是 Git 最显著的特点, 因为这改变了开发者的开发模式, SVN 等版本控制工具将每个分支都要放在不同的目录中, Git 可以在同一个目录中切换不同的分支.
分支即时性: 创建和切换分支几乎是同时进行的, 用户可以上传一部分分支, 另外一部分分支可以隐藏在本地, 不必将所有的分支都上传到 GitHub 中去.
分支灵活性: 用户可以随时创建, 合并, 删除分支, 多人实现不同的功能, 可以创建多个分支进行开发, 之后进行分支合并, 这种方式使开发变得快速, 简单, 安全.
第三步 Git 客户端安装过程:
1. 双击安装程序 "Git-2.10.2-64-bit.exe", 显示截图如下:
image.PNG
2. 点击 "Next", 显示截图如下:
image.PNG
根据自己的情况, 选择程序的安装目录.
3. 继续点击 "Next", 显示截图如下:
image.PNG
说明:
(1)图标组件(Addition icons) : 选择是否创建桌面快捷方式.
(2)桌面浏览(Windows Explorer integration) : 浏览源码的方法, 使用 bash 或者 使用 Git GUI 工具.
(3)关联配置文件 : 是否关联 Git 配置文件, 该配置文件主要显示文本编辑器的样式.
(4)关联 shell 脚本文件 : 是否关联 Bash 命令行执行的脚本文件.
(5)使用 TrueType 编码 : 在命令行中是否使用 TruthType 编码, 该编码是微软和苹果公司制定的通用编码.
4. 选择完之后, 点击 "Next", 显示截图如下:
image.PNG
开始菜单快捷方式目录: 设置开始菜单中快捷方式的目录名称, 也可以选择不在开始菜单中创建快捷方式.
5. 点击 "Next", 显示截图如下
image.PNG
设置环境变量
选择使用什么样的命令行工具, 一般情况下我们默认使用 Git Bash 即可:
(1)Git 自带: 使用 Git 自带的 Git Bash 命令行工具.
(2)系统自带 CMD: 使用 Windows 系统的命令行工具.
(3)二者都有: 上面二者同时配置, 但是注意, 这样会将 Windows 中的 find.exe 和 sort.exe 工具覆盖, 如果不懂这些尽量不要选择.
6. 选择之后, 继续点击 "Next", 显示如下:
image.PNG
选择提交的时候换行格式
(1)检查出 Windows 格式转换为 unix 格式: 将 Windows 格式的换行转为 unix 格式的换行再进行提交.
(2)检查出原来格式转为 unix 格式: 不管什么格式的, 一律转为 unix 格式的换行再进行提交.
(3)不进行格式转换 : 不进行转换, 检查出什么, 就提交什么.
7. 选择之后, 点击 "Next", 显示截图如下:
image.PNG
8. 选择之后, 点击 "Next", 显示截图如下
image.PNG
9. 选择之后, 点击 "Install", 开始安装, 截图显示如下:
image.PNG
10. 安装完成之后, 显示截图如下:
image.PNG
这样, 我们的 Git 客户端就下载并安装完成了.
2.1 安装完成后
在开始菜单里找到 "Git"->"Git Bash", 蹦出一个类似命令行窗口的东西, 就说明 Git 安装成功! 打开 Git Bash 命令行操作界面.
image
2.2 创建 ssk, 获得本机的公钥和私钥
SSH-keygen -t rsa -C "youremail@example.com"
image
回车 输入密码 两次 --------------------- 两次都是隐藏的, 你只能默写这输入在控制台上不显示
image.PNG
如果一切顺利的话, 可以在用户主目录里找到. SSH 目录, 里面有 id_rsa 和 id_rsa.pub 两个文件, 这两个就是 SSH Key 的秘钥对, id_rsa 是私钥, 不能泄露出去, id_rsa.pub 是公钥, 可以放心地告诉任何人, 目录就是上面的 c:/users/sunjian/.SSH/id_rsa
第 2 步: 登陆 GitHub, 打开 "Account settings","SSH Keys" 页面:
然后, 点 "Add SSH Key", 填上任意 Title, 在 Key 文本框里粘贴 id_rsa.pub 文件的内容:
image
image
如下图所示, 点击 1 处的 SSH and GPG keys, 然后点击 2 处的 New SSH key 按钮, 在 3 处填写刚刚生成的 SSH Key,Title 处填写标题, 可以随便填, Key 处粘贴刚才生成的 key. 添加成功后如 4 处所示.
image
image.PNG
可以输入以下命令验证是否成功
image.PNG
其中如果出现 GitHub 连接报 "ssh: connect to host github.com port 22: Connection timed out" 错误
image.PNG
解决:
用编码器打开
- # $OpenBSD: ssh_config,v 1.33 2017/05/07 23:12:57 djm Exp $
- # This is the SSH client system-wide configuration file. See
- # ssh_config(5) for more information. This file provides defaults for
- # users, and the values can be changed in per-user configuration files
- # or on the command line.
- # Configuration data is parsed as follows:
- # 1. command line options
- # 2. user-specific file
- # 3. system-wide file
- # Any configuration value is only changed the first time it is set.
- # Thus, host-specific definitions should be at the beginning of the
- # configuration file, and defaults at the end.
- # Site-wide defaults for some commonly used options. For a comprehensive
- # list of available options, their meanings and defaults, please see the
- # ssh_config(5) man page.
- # Host *
- # ForwardAgent no
- # ForwardX11 no
- # PasswordAuthentication yes
- # HostbasedAuthentication no
- # GSSAPIAuthentication no
- # GSSAPIDelegateCredentials no
- # BatchMode no
- # CheckHostIP yes
- # AddressFamily any
- # ConnectTimeout 0
- # StrictHostKeyChecking ask
- # IdentityFile ~/.SSH/id_rsa
- # IdentityFile ~/.SSH/id_dsa
- # IdentityFile ~/.SSH/id_ecdsa
- # IdentityFile ~/.SSH/id_ed25519
- # Port 22
- # Protocol 2
- # Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,aes256-cbc,aes192-cbc
- # MACs hmac-md5,hmac-sha1,umac-64@openssh.com
- # EscapeChar ~
- # Tunnel no
- # TunnelDevice any:any
- # PermitLocalCommand no
- # VisualHostKey no
- # ProxyCommand SSH -q -W %h:%p gateway.example.com
- # RekeyLimit 1G 1h
- # Added by Git-extra
- Ciphers +aes128-cbc,3des-cbc,aes256-cbc,aes192-cbc
在最后加上:
- Host GitHub.com
- User YourEmail@qq.com
- Hostname SSH.GitHub.com
- PreferredAuthentications publickey
- IdentityFile ~/.SSH/id_rsa
- Port 443
注意 User 为你登录 GitHub 的账号名称.
再次执行 SSH -T Git@GitHub.com 时, 会出现提示如下, 回车 "yes" 即可.
GitHub 主页介绍及修改个人信息
image.PNG
image.PNG
标注 1:View profile and more, 更多选项视图;
标注 2:Your profile, 个人简介.
如上图所在, 我们依次点击 标注 1 所示的 View profile and more 和 标注 2 所示的 Your profile, 进入「个人简介」界面:
标注 1:Edit profile, 修改个人简介;
标注 2:Overview, 个人主页概览;
标注 3:Repositories, 仓库;
标注 4:Star, 点星记录;
标注 5:Followers, 粉丝;
标注 6:Following, 关注的 GitHub 账号;
标注 7: 个人贡献历史记录.
如上图所示, 标注 1 表示的为 Edit profile, 这个选项当我们修改完个人信息之后, 就会自动消失; 标注 2 表示的为 Overview, 展示了我们账号的主要内容, 包括仓库和贡献等; 标记 3 表示的为 Repositories, 是我们建立的仓库, 包括 Fork 来的项目, GitHub 也会自动为我们创建一个仓库; 标注 4 表示为 Star, 收藏了我们的 "点星", 或者说是 "点赞" 过的项目; 标注 7 表示的为我们最近一年来的 contribution, 用实心的小方格标记, 小方格的颜色越深, 表示我们的 contribution 越多. 在这里, 我们点击 Edit profile, 编辑个人简历:
image.PNG
image.PNG
如上图所示, 我们可以通过这个界面填写个人信息, 包括 Name(昵称),Bio(自我介绍),URL(链接),Company(公司),Location(位置)以及 Upload new picture(上传头像)等等. 在我们填写完个人信息之后, 可以点击 Update profile 更新个人简介, 同时可以勾选 Available for hire, 选择 "雇主可见", 然后点击 Save jobs profile, 保存我们的求职简历.
此外, 在 Personal settings 中, 还包含很多其他的选择, 如在 Account 中, 可以修改账号密码; 在 Emails 中, 可以修改绑定的邮箱等等. 在这里, 用红色框圈起的 SSH and GPG keys 非常重要, 我们可以通过它连接到本地的 IDE, 从而保证项目提交与检出的安全性.
然后将项目分享跟 GitHub
image.PNG
输入账号密码:
image.PNG
点击 Share Project on GitHub 后打开下图所示面板, 输入想要上传到哪个仓库, 这里注意, 不能与 GitHub 已有仓库重名, 因为这步操作会在 GitHub 创建一个新的仓库.
image
点击 Share 按钮后, 可以立即在后续弹窗中将代码提交到 GitHub 仓库. 也可以以后自己单独提交.
如下图所示, 为 Git 相关操作, Commit,Push,Pull 等. 这里不对这些操作的作用做相关说明.
红色方框框出来的两处, Commit 都可以打开 Commit 面板, Update 和 Pull 都可以从远程仓库更新代码.
image
点击 Commit 后, 出现如下图所示窗口, 1 处显示的为有改动的文件, 2 处填写这次 Commit 的备注, 3 处可以选择只 Commit 还是 Commit and Push . 等 Push 完成之后, 我们再去 GitHub, 就可以看到刚才提交的代码了.
image
如何把本地修改的文件先放到本地库中再从本地库中去除
注意: 这里如果我们是新创建的文件, 首先需要点击如下图所示 Add, 才能进行 Commit .
image
image
如果是新增文件夹, 一定要把文件夹 Git add 进去, 光 add 文件也不行.
image
image
image
image
image
image
image
push 完成, 远程 GitHub 服务器更新了
image
image
删除已有仓库
通过 GitHub 教程 (一) 的阅读, 我相信您对 GitHub 体系框架已经有了模模糊糊的了解. 本节教程将继续介绍 GitHub 的操作 --- 删除仓库.
作为 GitHub 的入门使用者, 我们可能会建一些简单的仓库来学习 Git 操作. 毫无疑问, 这些简单的仓库没有任何的实用价值, 因此有时候我们会选择删除这些没有项目意义的仓库.
本文就如何删除 GitHub 上已经创建的仓库, 给出图示步骤.
来源: http://www.jianshu.com/p/80490391cd88