# 快速开始

# git 的三种状态

  1. 已修改 modified:表示修改了文件,但还没将修改的结果放到暂存区
  2. 已暂存 staged:表示对已修改文件的当前版本做了标记,使之包含在下次提交的列表中
  3. 已提交 committed:表示文件已经安全地保存在本地的 Git 仓库中

注意:
工作区的文件被修改了,但还没有放到暂存区,就是已修改状态如果文件**已修改**状态。
如果文件已修改并放入暂存区,就属于**已暂存**状态。
如果 Git 仓库中保存着特定版本的文件,就属于**已提交**状态 # 配置用户信息 配置用户名
1
git config --global user.name "用户名"
配置邮箱地址
1
git config --global user.email "用户邮箱"
# git文件的4种状态 显示文件状态: git status,输出详细的状态报告。 为了精简阅读报告,可以输入git status -s即git status --short 简短输出报告。
未被跟踪的文件会在提示文件前面出现两个"**??**" ## 如何跟踪文件? 使用git add 文件名
例如:
git add helloworld.html
此时你再已精简方式查看的话会有一个绿色的“**A**”标记 ## 提交更新 git commit -m "更新的描述信息" ## 撤销对文件的修改 git checkout -- helloworld.html
这行会撤销掉你做过的修改,需要谨慎操作。 ## 取消暂存的文件 如果需要从暂存区中移除对应的文件,可以使用如下命令:
1
git reset HEAD 要移除文件的名称
也可以使用git reset HEAD . 取消所有的暂存区文件。 ## 跳过使用暂存区域 git commit -a -m "描述信息" ## 移除文件

移除的两种不同方式:

  1. 从 Git 仓库和工作区中同时移除对应的文件
  2. 只从 Git 仓库中移除指定的文件,担保留工作区中对应的文件。
1
2
3
4
# 从Git仓库和工作区中同时移除index.js文件
git rm -f index.js
#只从Git仓库中移除指定的文件,担保留工作区中的index ,css文件
git rm --cached index,css

# 查看提交历史

1
2
3
4
5
#按时间先后顺序列出所有的提交历史,最近的提交排在最上面
git log
#只展示最新的两条提交历史,数字可以按需进行填写git log -2
# 在一行上展示最近两条提交历史的信息git log -2 --pretty=oneline
#在一行上展示最近两条提交历史的信息,并自定义输出的格式#%h 提交的简写哈希值%an作者名字%ar作者修订日期git log -2 --pretty=format:"%h %an %ar %s"

# 生成 SSH Key

在任意目录下打开 Git Bash 输入

1
ssh-keygen -t rsa -b 4096 -C "your_email@example.com

检测 Github 的 SSH Key 是否配置成功

1
ssh -T git@github.com

# 本地分支操作

查看分支

1
git branch

创建分支

1
git branch 分支名称

切换分支

1
git checkout 分支名称

创建并切换到新的分支

1
git checkout -b 分支名称

# 合并分支与删除分支

切换的 master 分支

1
git checkout master

在 master 分支上运行 git merge 命令,将 login 分支的代码合并到 master 分支

1
git merge login

注意:合并分支需要注意的是,假设要把 C 分支的代码合并到 A 分支,则必须先切换到 A 分支上,再运行 git merge 命令,来合并 C 分支。


删除分支


把当前功能的分支代码合并到 master 主分支上后,就可以使用如下命令删除对应的功能分支。(删除分支时不要让自己的位置位于该分支上。

1
git branch -d 分支名称

# 将本地分支推送到远程仓库

如果是第一次将本地分支推送到远程仓库,则需要运行如下命令

1
2
3
4
5
6
7
8
9
10
# -u 表示将本地分支和远程分支进行关联,只在第一次推送的时候需要带 -u参数
git push -u 远程仓库的别名 本地分支名称:远程分支名称

# 实际案例:
git push -u origin test:TEST
# 这里的test是你本地创建的新分支,在远程仓库还没有这个分支,这里的TEST是你推送后的test名称,你也可以命名为test

# 如果希望远程分支的名称和本地名称保持一致,可以对命令进行简化:
git push -u origin test

# 查看远程仓库中所有的分支列表

1
git remote show 远程仓库名称

# 跟踪分支

跟踪分支是指:从远程仓库中,把远程分支下载到本地仓库中。

1
2
3
4
5
6
7
8
9
10
# 冲远程仓库中,把对应的远程分支下载到本地仓库,保持本地分支和远程分支名称相同
git checkout 远程分支的名称

# 实例;
git checkout pay

# 从远程仓库中,把对应的远程分支下载到本地分支进行重命名
git checkout -b 本地分支名称 远程仓库名称/远程分支名称
# 示例:
git checkout -b payment origin/pay

# 删除远程分支

1
2
3
4
# 删除远程仓库中,指定名称的远程分支
git push 远程仓库名称 --delete 远程分支名称
# 示例:
git push origin --delete pay