【Git】笔记

 

 

 

# Git 基本理论(核心)
## 工作区域
Git 本地有三个工作区域,工作目录()、暂存区()、资源库(Repository或Git Directory)。如果再加上远程的 git 仓库(Remote Directory)就分为四个工作区域。
转换关系如下:
`Working Directory` >>> `Stage(Index)` >>> `History` >>> `Remote Directory`
使用命令:      `git add files`     `git commit`   `git push`    

 

Git 转换关系:

 

Workspace:工作区,平时存放项目代码的地方

Index / Stage:暂存区,用于临时存放你的改动,实质上它只是一个文件,保存即将提交到文件列表信息

Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里有提交的所有版本的数据。其中 `HEAD` 指向最新放入仓库的版本。

Remote:远程仓库,托管代码的服务器。

 

 

## 工作流程
git 的工作流程一般是:
1、在工作目录中添加、修改文件。
2、将需要进行版本管理的文件放入暂存区。 `git add .`   点 . 就是全部的
3、将暂存区的文件提交到 git 仓库。 `git commit`
因此,git 管理的文件有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)

 

创建工作目录:

# Git 项目搭建
```
git add .       添加到暂存区        
git commit      提交到 git 仓库
git push        提交到远程仓库        
git clone url   从远程仓库克隆到本地      
```
## 本地仓库搭建
创建本地仓库的方法有两种:一是创建全新的本地仓库、二是克隆远程仓库。

### 1、在当前目录新建一个 Git 代码库
命令:`git init`  
执行完后,会生成一个 `.git` 目录,关于版本等信息都在里面。
类似于 node.js 的 `init` 初始化。

### 2、克隆远程仓库
将远程服务器上的仓库完全镜像一份到本地。
命令:`git clone [url]`
例如:`git clone https://github.com/.......xxx.git`
 
 
# Git 文件操作
 
 
# 使用 GitHub

## 设置绑定 SSH 公钥
进入目录 C:\Users\用户\.ssh
### 生成公钥 ###
生成公钥: `ssh-keygen`
### 生成公钥 使用加密算法 ###
生成公钥,使用 rsa 加密算法: `ssh-keygen -t rsa`

## 在 Github 绑定公钥
在 C:\Users\用户\.ssh 目录下,打开文件 `id_rsa.pub`,复制该公钥,粘贴到 github 上,配置完了
其中,`id_rsa` 是私钥,`id_rsa.pub` 是公钥
 
 
## 使用流程
先 `git clone [url]` 克隆到本地,同时也配置了远程地址,后续push。
`git add .` 提交到缓存区
`git commit -m "消息"` 提交到本地仓库
`git push` 提交到远程仓库

## 注意!
### Git 提交后 显示作者不是自己 ###
本机的git配置文档中,邮箱是 `xxx@gmail.com` ,而 GitHub 的邮箱是 `aaa@outlook.com`,那么就不会显示是“自己”上传的,而是“别人”上传的,这个“别人”就是本机配置的用户名和邮箱。
所以,把本机邮箱设置的与 GitHub 的一样,才可以显示是“自己”上传的。
如果不想显示自己邮箱,可以使用 GitHub 提供的`@users.noreply.github.com` 邮箱,和上面的效果一样,都可以归为自己上传的。自行在设置找到邮箱,例如:`2333+aa@users.noreply.github.com`

### 方法 ###
配置用户名:`git config --global user.name "You name"`
配置邮箱号:`git config --global user.email "You email"`
 
### 绑定本地 Git 配置的邮箱, Github 才能统计提交的代码。 ###
 
 
# Git 分支
字面意思。
例如,master 主分支,还有三个分支 `dev`、`ver 5.0` 与 `ver 6.0` 分支,很明显可以看出,有一个 dev 开发版的分支,与不同的版本的分支。

## 常用命令
```
# 列出所有本地分支
`git branch`

# 列出所有远程分支
`git branch -r`

# 新建一个分支
`git branch [branch-name]`

# 新建一个分支,并切换到此分支
`git checkout -b [branch]`

# 合并指定分支到 当前分支
`git merge [branch]`

# 删除分支
`git branch -d [branch-name]`

# 删除远程分支
`git push origin --delete [branch-name]`
`git branch -dr [remote/branch]`

```
 
posted @ 2023-03-29 21:59  nekmea  阅读(12)  评论(0编辑  收藏  举报