- 个人主页 :https://blog.csdn.net/qq_52007481
- ⭐个人社区:【小鱼干爱编程】
- 最近专栏:Git教程专栏
写在前面:本章讲解主要是本地版本库的使用,暂时未涉及到远程代码仓库的拉取和推送。因为在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。因为你在本地磁盘上就有项目的完整历史,所以大部分操作都可以在本地完成,并且不受网络的限制,速度非常快,即使没有网络你仍然可以继续进行开发,等到有网络的时候再将所有的内容推送到代码托管平台供团队的其他人使用
本专栏的讲解Git的策略是由浅入深,先学会本地Git的使用,后面学习团队合作,以及如何使用远程的代码仓库,希望大家不要着急,耐心学下去。
当然这个流程也不是完全要遵守的,比如可以在开发中切换回原来的版本,以及新建分支,分支合并。
版本库有名仓库,是一个可以记录文件修改,删除等操作,通过这些记录可以追踪历史,或者还原到指定的版本
首先先进入到自己的项目目录下,右击进入进入到 Git Bash
此时工作路径只有一个test.py文件
git init
初始化后,多出来的一个.git
的文件夹(该文件夹为隐藏文件夹),初始化后git就拥有此文件夹的权限
git status
出现了只有一个红色的test.py
代表有一个文件未被git追踪到,此时不能直接提交git commit
到仓库,当文件执行过一次git add
,该文件就被git追踪到了,以后再提交到仓库时同样也需要先提交到暂存区然后在提交到仓库
暂存区:暂时存放提交的内容,没有提交到本地仓库中,可以撤回
git add test.py
然后在查看git的状态,就会发现此时出现的文件就变成绿色了此时就代表文件已经提交到暂存区
git commit -m "first commit" test.py
#git commit -m 日志信息 需要提交的文件 提交指定的文件
# 如果最后不带文件名,则会提交暂存区中所有的内容修改
git commit test.py
# 查看提交的具体情况,并设置版本信息
这个页面的操作和Linux里面编辑文件的操作是一样的
点击键盘上的 i
进入编辑模式,出现了INSERT
就代表进入了编辑模式
按键Esc
键退出编辑,再输入:wq 保存并退出
退出编辑器时,Git 会丢弃注释行,用你输入的提交说明生成一次提交
查看此时的状态
这样代表所有的文件都是最新版本
如果嫌每提交仓库前都需要先提交到暂存区比较繁琐,可以再git commit
指令后面添加 -a
,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add
步骤
要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除)移除之后git变不在追踪该文件的变化
此操作不会删除本地的文件
git rm --cached test.py
git reflog
git log
查看此时的文件状态(红色),这时候的文件还没有提交到暂存区
提交到暂存区git add test.py
查看此时的文件状态(绿色),已经提交到暂存区
将修改后的文件提交到仓库
命令和原来的一样先提交到暂存区git add .
提交到仓库git commit -m 'modified commit' test.py
切换版本,首先需要知道每个版本对应的版本号,版本号可以通过查看日志得到
查看日志信息有有两种方式
# 简略的日志信息
git reflog
# 完整的日志信息
git log
开头的一串数字和字母的结合是简写的版本号
将版本期切换到第一个
git reset --hard 90baffe
此时文件已经恢复到了指定的版本 两次的修改已经没有了
如果想回到最新的版本,再使用版本控制切换回来就行
最后总结一下今天所用的命令
命令 | 作用 |
---|---|
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 < 版本号 > | 版本切换 |
命令的用法多种多样,希望大家在下面可以自行研究,命令只有敲的多才会记的牢
下一篇文章讲解git分支的创建与合并,以及分支冲突怎么解决,希望大家关注一下专栏
- 个人主页 :https://blog.csdn.net/qq_52007481
- ⭐个人社区:【小鱼干爱编程】
- 最近专栏:Git教程专栏