文章目录

  • 1.Git的本地工作流程
  • 2.创建版本库
  • 2.1本地仓库
  • 2.2 初始化本地仓库
  • 2.3 查看本地库状态
  • 2.4 将文件添加到暂存区
  • 3 提交到本地仓库
  • 3.1提交
  • 3.2 跳过暂存区的提交
  • 3.3 移除文件
  • 4 查看日志信息
  • 4.1 简略的日志记录
  • 4.2 详细的日志记录
  • 5.修改文件并提交
  • 6.版本切换
  • 7.命令总结


写在前面:本章讲解主要是本地版本库的使用,暂时未涉及到远程代码仓库的拉取和推送。因为在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。因为你在本地磁盘上就有项目的完整历史,所以大部分操作都可以在本地完成,并且不受网络的限制,速度非常快,即使没有网络你仍然可以继续进行开发,等到有网络的时候再将所有的内容推送到代码托管平台供团队的其他人使用
本专栏的讲解Git的策略是由浅入深,先学会本地Git的使用,后面学习团队合作,以及如何使用远程的代码仓库,希望大家不要着急,耐心学下去。

1.Git的本地工作流程

  1. 创建版本库,让git有可以管理项目的权限
  2. 将项目提交到暂存区,让git追踪到文件的变化
  3. 提交项目到git的主分支,每次提交就是一个新的版本
  4. 继续开发项目,继续提交,重复2,3 直至项目开发完成

当然这个流程也不是完全要遵守的,比如可以在开发中切换回原来的版本,以及新建分支,分支合并。

2.创建版本库

版本库有名仓库,是一个可以记录文件修改,删除等操作,通过这些记录可以追踪历史,或者还原到指定的版本

2.1本地仓库

首先先进入到自己的项目目录下,右击进入进入到 Git Bash

此时工作路径只有一个test.py文件

git 怎么把本地仓库的改动提交到远程仓库_git

2.2 初始化本地仓库

git init

初始化后,多出来的一个.git的文件夹(该文件夹为隐藏文件夹),初始化后git就拥有此文件夹的权限

git 怎么把本地仓库的改动提交到远程仓库_版本库_02

2.3 查看本地库状态

git status

出现了只有一个红色的test.py 代表有一个文件未被git追踪到,此时不能直接提交git commit到仓库,当文件执行过一次git add,该文件就被git追踪到了,以后再提交到仓库时同样也需要先提交到暂存区然后在提交到仓库

git 怎么把本地仓库的改动提交到远程仓库_版本库_03

2.4 将文件添加到暂存区

暂存区:暂时存放提交的内容,没有提交到本地仓库中,可以撤回

git add test.py

然后在查看git的状态,就会发现此时出现的文件就变成绿色了此时就代表文件已经提交到暂存区

git 怎么把本地仓库的改动提交到远程仓库_git_04

3 提交到本地仓库

3.1提交
  • 提交方式1
git commit -m "first commit" test.py

#git commit -m 日志信息 需要提交的文件   提交指定的文件

# 如果最后不带文件名,则会提交暂存区中所有的内容修改

git 怎么把本地仓库的改动提交到远程仓库_暂存区_05


提交以后再查看git的状态

git 怎么把本地仓库的改动提交到远程仓库_git_06

  • 提交方式2
git commit test.py
# 查看提交的具体情况,并设置版本信息

git 怎么把本地仓库的改动提交到远程仓库_git_07


这个页面的操作和Linux里面编辑文件的操作是一样的

点击键盘上的 i进入编辑模式,出现了INSERT就代表进入了编辑模式

git 怎么把本地仓库的改动提交到远程仓库_github_08


按键Esc键退出编辑,再输入:wq 保存并退出

退出编辑器时,Git 会丢弃注释行,用你输入的提交说明生成一次提交

git 怎么把本地仓库的改动提交到远程仓库_github_09


查看此时的状态

这样代表所有的文件都是最新版本

git 怎么把本地仓库的改动提交到远程仓库_暂存区_10

3.2 跳过暂存区的提交

如果嫌每提交仓库前都需要先提交到暂存区比较繁琐,可以再git commit 指令后面添加 -a ,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤

3.3 移除文件

要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除)移除之后git变不在追踪该文件的变化
此操作不会删除本地的文件

git rm --cached test.py

git 怎么把本地仓库的改动提交到远程仓库_版本库_11

4 查看日志信息

4.1 简略的日志记录

git reflog

git 怎么把本地仓库的改动提交到远程仓库_暂存区_12

4.2 详细的日志记录

git log

git 怎么把本地仓库的改动提交到远程仓库_github_13


git log 后面可以跟一些参数,用来输出指定的历史记录

5.修改文件并提交

查看此时的文件状态(红色),这时候的文件还没有提交到暂存区

git 怎么把本地仓库的改动提交到远程仓库_github_14


提交到暂存区git add test.py 查看此时的文件状态(绿色),已经提交到暂存区

git 怎么把本地仓库的改动提交到远程仓库_git_15


将修改后的文件提交到仓库

命令和原来的一样先提交到暂存区git add . 提交到仓库git commit -m 'modified commit' test.py

6.版本切换

原来文件中的内容

git 怎么把本地仓库的改动提交到远程仓库_版本库_16


第一次修改文件,保存并提交到本地库

git 怎么把本地仓库的改动提交到远程仓库_暂存区_17


修改第二次

git 怎么把本地仓库的改动提交到远程仓库_暂存区_18

切换版本,首先需要知道每个版本对应的版本号,版本号可以通过查看日志得到
查看日志信息有有两种方式

# 简略的日志信息
git reflog
# 完整的日志信息
git log

开头的一串数字和字母的结合是简写的版本号

git 怎么把本地仓库的改动提交到远程仓库_git_19


将版本期切换到第一个

git reset --hard 90baffe

git 怎么把本地仓库的改动提交到远程仓库_暂存区_20


此时文件已经恢复到了指定的版本 两次的修改已经没有了

git 怎么把本地仓库的改动提交到远程仓库_暂存区_21


如果想回到最新的版本,再使用版本控制切换回来就行

7.命令总结

最后总结一下今天所用的命令

命令

作用

git init

初始本地版本库

git status

查看状态

git add < file >

将指定修改后文件提交到暂存区

git add .

将所有修改后的文件提交到暂存区,最后的 . 代表匹配所有的文件

git commit -m‘commit message’

提交暂存区所有的文件修改记录

git commit -m‘commit message’ < file >

提交指定的文件

git rm --cached < file >

停止追踪文件(文件名可以是一种正则表达式)

git log

查看日志信息

git reflog

查看基础的日志信息

git reset --hard < 版本号 >

版本切换

命令的用法多种多样,希望大家在下面可以自行研究,命令只有敲的多才会记的牢