<commit_before>---
layout:     post
title:      Git管理代码
subtitle:   
date:       2017-07-19
author:     Ywg
header-img: img/home-bg-o.jpg
catalog:    true
tags: 
---

## 前言

## 下载安装Git并配置环境变量
#### 下载安装Git
下载地址: https://git-scm.com/downloads
- 安装比较简单，选择自己安装的路径，一直下一步就行。

#### 配置环境变量
- 找到环境变量：我的电脑 -> 右键属性 ->高级系统设置 -> 右下角环境变量。 
- 在系统环境变量Path加上D:\XX\Git\bin和D:\XX\Git\usr\bin，
- 并在用户环境变量新建环境变量GIT_HOME：D:\XX\Git

## 生成SSH密钥并添加到Github
#### 生成SSH密钥
打开命令提示符
- 设置Git的username和email：
``` 
git config --global user.name "XXX"
git config --global user.email "<EMAIL>"
``` 
- 生成SSH密钥
``` 
ssh-keygen -t rsa -C "<EMAIL>" 
``` 
按3个回车，密码为空。
```
Your identification has been saved in /c/Users/lenovo/.ssh/id_rsa.
Your public key has been saved in /c/Users/lenovo/.ssh/id_rsa.pub.
The key fingerprint is:
.......
```
成功后会在~/下生成.ssh文件夹，里面有两个文件：id_rsa和id_rsa.pub

#### 登陆Github, 添加 ssh
打开id_rsa.pub, 并复制里面的密钥。 <br>
setting -> SSH and GPG keys -> New SSH key -> 粘贴到Key中 -> Add SSH key

#### 测试是否成功
在命令提示符中输入:
```
ssh -T git@github.com
```
结果：
```
Hi ywg228! You've successfully authenticated, but GitHub does not provide shell access.
```
如果看到Hi后面是你的用户名，则说明成功了！

## Git使用<commit_msg>Update 2017-07-19-Git管理代码.md<commit_after>---
layout:     post
title:      Git管理代码
subtitle:   
date:       2017-07-19
author:     Ywg
header-img: img/home-bg-o.jpg
catalog:    true
tags: 
---

## 前言

## 下载安装Git并配置环境变量
#### 下载安装Git
下载地址: https://git-scm.com/downloads
- 安装比较简单，选择自己安装的路径，一直下一步就行。

#### 配置环境变量
- 找到环境变量：我的电脑 -> 右键属性 ->高级系统设置 -> 右下角环境变量。 
- 在系统环境变量Path加上D:\XX\Git\bin和D:\XX\Git\usr\bin，
- 并在用户环境变量新建环境变量GIT_HOME：D:\XX\Git

## 生成SSH密钥并添加到Github
#### 生成SSH密钥
打开命令提示符
- 设置Git的username和email：
``` 
git config --global user.name "XXX"
git config --global user.email "<EMAIL>"
``` 
- 生成SSH密钥
``` 
ssh-keygen -t rsa -C "<EMAIL>" 
``` 
按3个回车，密码为空。
```
Your identification has been saved in /c/Users/lenovo/.ssh/id_rsa.
Your public key has been saved in /c/Users/lenovo/.ssh/id_rsa.pub.
The key fingerprint is:
.......
```
成功后会在~/下生成.ssh文件夹，里面有两个文件：id_rsa和id_rsa.pub

#### 登陆Github, 添加 ssh
打开id_rsa.pub, 并复制里面的密钥。 <br>
setting -> SSH and GPG keys -> New SSH key -> 粘贴到Key中 -> Add SSH key

#### 测试是否成功
在命令提示符中输入:
```
ssh -T git@github.com
```
结果：
```
Hi ywg228! You've successfully authenticated, but GitHub does not provide shell access.
```
如果看到Hi后面是你的用户名，则说明成功了！

## Git使用

#### 初始化一个仓库
```
新建一个目录作为工作目录
mkdir git_demo   
cd git_demo
在本地初始化git仓库
git init
```
#### 添加一个远程仓库
```
//添加一个叫origin的远程仓库
$ git remote add origin <EMAIL>:JavyZheng/git_demo.git
//添加个README吧
$ vim README.md
$ git add README.md
$ git commit -m "first commit with README"
//推送到远程仓库
$ git push -u origin master
```
#### 从远程仓库获得工作目录
```
git clone <EMAIL>:ywg228/git_demo.git
cd git_demo
git status
//默认远程仓库名为origin
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
```
#### 添加，修改，推送
进行一些修改后，可以通过add, commit, push来推送到远程仓库
```
//添加所有修改
git add .
//提交修改
git commit -m "描述信息"
//推送到远程仓库
git push 
```

#### 分支
通常情况下，当我们需要添加一个新功能的时候，是不能在主分支上直接修改的，这时，需要创建一个新的分支，等功能开发并测试完成之后，再合并到主分支。
{'fraction_non_alphanumeric': 0.1620039037085231, 'fraction_numerical': 0.011385816525699415, 'mean_word_length': 3.7527047913446676, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 25, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2538790', 'n_tokens_mistral': 1741, 'n_tokens_neox': 1834, 'n_words': 290}