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 就行啦:

原文地址:https://www.cnblogs.com/lgxlsm/p/6934471.html