Git和Github入门教程
一、常用命令
所有命令前都要加 git,如表中的init是指 git init。
点击命令可直接跳转至本文第一次使用的地方。
以下命令都在命令行里执行。
1.本地命令
| 行为 | 命令 | 备注 |
|---|---|---|
| 初始化 | init | 在本地的当前目录里初始化git仓库 |
| clone 地址 | 从网络上某个地址拷贝仓库(repository)到本地 | |
| 查看当前状态 | status | 查看当前仓库的状态。碰到问题不知道怎么办的时候,可以通过看它给出的提示来解决问题 |
| 查看不同 | diff | 查看当前状态和最新的commit之间不同的地方 |
| diff 版本号1 版本号2 | 查看两个指定的版本之间不同的地方。这里的版本号指的是commit的hash值 | |
| 添加文件 | add -A | 这算是相当通用的了。在commit之前要先add |
| 撤回stage的东西 | checkout -- . | 这里用小数点表示撤回所有修改,在--的前后都有空格 |
| 提交 | commit -m "提交信息" | 提交信息最好能体现更改了什么 |
| 删除未tracked | clean -xf | 删除当前目录下所有没有track过的文件。不管它是否是.gitignore文件里面指定的文件夹和文件 |
| 查看提交记录 | log | 查看当前版本及之前的commit记录 |
| reflog | HEAD的变更记录 | |
| 版本回退 | reset --hard 版本号 | 回退到指定版本号的版本,该版本之后的修改都被删除。同时也是通过这个命令回到最新版本。需要reflog配合 |
2.远程库存命令
| 行为 | 命令 | 备注 |
|---|---|---|
| 设置用户名 | config --global user.name "你的用户名" | |
| 设置邮箱 | config --global user.email "你的邮箱" | |
| 生成ssh key | ssh-keygen -t rsa -C "你的邮箱" | 这条命令前面不用加git |
| 添加远程仓库 | remote add origin 你复制的地址 | 设置origin |
| 上传并指定默认 | push -u origin master | 指定origin为默认主机,以后push默认上传到origin上 |
| 提交到远程仓库 | push | 将当前分支增加的commit提交到远程仓库 |
| 从远程仓库同步 | pull | 在本地版本低于远程仓库版本的时候,获取远程仓库的commit |
可以用一张图直观地看出以上主要的命令对仓库的影响。

二、Git for Windows软件安装
1.官网下载客户端(https://git-scm.com/download/win)
2.安装(一路点击Next就行了)
三、本地Git的使用
1.新的仓库(初始化)
1.1打开命令行(cmd)或者在想要创建repository的地方右键鼠标并点击 Git Bash Here 打开窗口。

1.2运行 git init 来初始化仓库,如下图:

2.文件的添加和提交
我在这个文件夹里面创建了一个 test.txt 的文件。里面写着 妹子别走!
这时我使用 git status 来查看有什么变化:

它告诉我有一个还未追踪的文件,并提示我可以使用 git add <file>... 把它加进去。
但是我并不打算把所有命令都介绍一遍,所以我选择使用上面概览时所提到的 git add -A 命令。

嗯,什么提示都没有。没关系,我们再次使用 git status

状态变了!说明add成功。再看看它的提示 Changes to be committed ,也就是说现在可以执行commit了。下面一行则告诉你如何将文件从stage里移出,这里不管。
执行 git commit -m "提交信息" 将文件提交到repository里。提交信息用英文的双引号括起来。
这时运行 git log 就可以看到提交的记录了

3.文件的修改
我修改文件内容。
我们用 git status 看看有什么变化:

现在我们通过git看看文件做了哪些变化,执行 git diff

它默认跟最新的一个commit进行比较。
红色(前面有减号-)表示删除,绿色(前面有加号+)表示添加。
因此,在git看来,我们是删除了原来那一行,并添加了新的两行。这在文件内容特别多的时候效果比较明显。
这个命令在以下情况可以使用:
你忘记改了什么,又想知道
别人发给你新版本,你想知道更改了什么
注:如果你用 windows 创建 txt 文件,并用自带文本编辑器来编辑文本,得到的编码是 GBK 。而 Git 读取文件时,使用 UTF-8 无 ROM 编码。因此会出现中文无法正常显示的情况。
假如我现在想撤销这些更改,执行 git checkout -- . 就行了:
4.版本回退
从刚才的 git log
开始回退,执行 git reset --hard 2df0a28(取版本号前7位就可以了)

5.清除未追踪的文件
用checkout是没办法删除掉它的,使用 git clean -xf
四、Github与Git的关联
1.到Github注册账号。
2.本地配置用户名和邮箱(如果已经设置好,跳过该步):
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
3.生成ssh key
运行 ssh-keygen -t rsa -C "你的邮箱" ,它会有三次等待你输入,直接回车即可。
将生成的ssh key复制到剪贴板,执行 clip < ~/.ssh/id_rsa.pub (或者到上图提示的路径里去打开文件并复制):

4.打开Github
1.进入Settings点击左边的 SSH and GPG keys 。

2.将ssh key粘贴到右边的Key里面。Title随便命名即可。

3.测试一下吧,执行 ssh -T git@github.com
对于 oschina 的 “码云” ,执行 ssh -T git@git.oschina.net
对于 coding 的 “码市” ,执行 ssh -T git@git.coding.net

4.创建远程仓库并与本地关联
4.1在github创建仓库
4.2将远程仓库和本地仓库关联起来

有两种方式可以关联,一种是SSH,一种是HTTPS。由于HTTPS比较慢,所以推荐使用SSH。
注意SSH的地址格式是这样开头的: git@github.com
运行 git remote add origin 你复制的地址
如果你在创建 repository 的时候,加入了 README.md 或者 LICENSE ,那么 github 会拒绝你的 push 。你需要先执行 git pull origin master。
执行 git push -u origin master 将本地仓库上传至Github的仓库并进行关联

关联已经完成!
以后想在commit后同步到Github上,只要直接执行 git push 就行啦:


Git和Github入门教程的更多相关文章
- Git 极简入门教程学习笔记
Git 极简入门教程 http://rogerdudler.github.io/git-guide/index.zh.html 测试用 https://github.com/xxx/BrnShop. ...
- Git和Github简单教程
原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...
- Git-it:一个学习Git和Github的教程(软件)
Git-it https://github.com/jlord/git-it 2016-08-01 在FreeCodeCamp的引导下了解到的Git-it.OSC有收录. Git-it是一个指导使用G ...
- Git和Github简单教程(收藏)
原文链接:Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的 ...
- git和github使用教程
看官请移步git和github简单教程, 本文是上述链接的截图,担心哪天作者不小心删除了,备一份在自己这里,仅为自己看着方便.侵权请告知
- Git和Github简单教程【转】
转自:https://www.cnblogs.com/schaepher/p/5561193.html#clone 原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但 ...
- 转:Git和Github简单教程
转自:https://www.cnblogs.com/schaepher/p/5561193.html Git和Github简单教程 原文链接:Git和Github简单教程 网络上关于Git和Gi ...
- github入门教程:第一步
[git教程] 以前在网上找过一些,见 http://www.wojilu.com/Forum1/Topic/702 我自己会一边学,一边写教程,过程中有不明白的,会跟大家请教交流. ----- ...
- Git和Github入门
推文:官方手册,十分详细 推文:git和github快速入门 一.git使用 1.git安装 (1)windows 网站:https://git-scm.com/download/win下载安装即可 ...
随机推荐
- javascript高级程序语言学习笔记
1.加法操作符(+)的用法 第一种情况,如果两个操作符都是数值,执行常规的加法计算. 第二种情况,如果两个操作数都是字符串,则将第二个操作数与第一个操作数拼接起来. 第三种情况,只有一个操作数是字符串 ...
- mysql数据库 详解 之 自学成才1
一.学习目录 1.认识数据库和mysql 2.mysql连接 3.入门语句 4.详解列类型 5.增删改查 INSERT INTO 表名(列1,…… 列n) VALUES(值 1,…… 值 n) ...
- Linux中设置别名
作者:邓聪聪 查看别名: alias设置别名: 临时设置: alias show='ls -al' 永久生效: 修改 家目录/.bashrc [root@localhost ~]# cat .bash ...
- VS 2008的64位编译环境的安装和使用
1. 安装64位编译环境 最近准备编译64位版本的程序.因为之前已经安装了VS 2008,开始以为只是使用VS 2008的安装文件添加功能即可,后来发现没这么简单.直接双击VS 2008的安装文件来安 ...
- 查询设备的IP地址/掩码/MAC/网关
import commands, sys import platform from _utils.patrol2 import run_cmd, data_format, report_format ...
- Android apk互调
1.启动另外一个应用程序的主Activity. //这些代码是启动另外的一个应用程序的主Activity,当然也可以启动任意一个Activity ComponentName componetName ...
- SQL Server 之 子查询与嵌套查询
当由where子句指定的搜索条件指向另一张表时,就需要使用子查询或嵌套查询. 1 子查询 子查询是一个嵌套在select.insert.update或delete语句或其他子查询中的查询.任何允许使用 ...
- LONG数据类型转换为VARCHAR2并相互转换
--方法1,支持表 --plsql中将long类型隐式转换为varchar2,但是sql不能CREATE OR REPLACE FUNCTION LONG_TO_CHAR( in_rowid rowi ...
- swift 实践- 11 -- UISlider
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoa ...
- fatal: refusing to merge unrelated histories
Git 提交代码时遇到冲突了,所以 git pull 拉不下来远程代码.使用一下命令解决: git pull origin master --allow-unrelated-histories 然后解 ...