Github(3)-本地文件管理
使用github 托管代码简单使用教程--本地文件管理
- 1.基本概念
- 2.本地文件管理
- 2.1 git add
- 2.2 git status
- 2.3 git commit
- 2.3 git log
- 2.5 git reset --hard 版本回退
- 2.6 git reflog
- 2.7 git diff
- 2.8 git checkout --file 工作区文件恢复
- 2.9 git rm 删除版本库里的文件
廖雪峰老师博文学习笔记:https://www.liaoxuefeng.com/wiki/896043488029600/897884457270432
代码修改/新建进入远端服务器的流程:working directory->staging area->repository->remote repository
git 数据流:
1.基本概念
工作区(Workspace) | 本地一个用于当前文件操作的工作区 |
暂存区(Stage/Index) | 存放在“.git/目录下”的index文件(.git/index)中 |
版本库 | 工作区隐藏目录.git/,存放Git的版本库。 |
远程版本库 | 托管在服务器上的仓库,可与本地代码库建立连接 |
2.本地文件管理
git 比其他分布式管理系统优秀的原因是它管理的是修改。
2.1 git add
将文件加入缓存区(什么时候加的技巧没有掌握)
单个文件,多个文件,名字匹配文件,所有修改/未修改/删除的文件
git add A.txt
git add A.txt B.txt
git add A*
git add all # 可以提交未跟踪、修改和删除文件
git add . # 可以提交未跟踪和修改文件,但是不处理删除文件
两者都可以将工作区中所有未跟踪或者修改的文件添加到暂存区。(1).git add all无论在哪个目录执行都会提交相应文件。(2).git add .只能够提交当前目录或者它后代目录下相应文件。
参考博文:https://www.softwhy.com/article-8489-1.html
两次add 同一个文件后再commit,提交的是最新的修改文件。
2.2 git status
git status
查看当前的工作区和缓存区的状态,有没有文件被修改,新增,需要提交之类的。
2.3 git commit
Commit–提交,每一个提交可以被视为一个版本。每一次Commit时,作者、时间、注释及其之间的版本都会被记录下来,commit完暂存区被清空。
每当文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为commit。一旦把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失。(廖老师)
每提交一个新版本,实际上Git就会把它们自动串成一条时间线。
git commit -m “提交注释:first commit/update xxx”
如果某次commit 之后,发现有新的改动需要提交到这个commit中,可以使用–amend
git add updatefile.py # 新修改的文件
git commit --amend # 将新修改的文件提交的最近的一个commit
随后会跳出提示修改提交信息的窗口,如果不修改提交备注信息,则wq退出即可提交成功。
amend 常用于修改已经提交的版本中的代码,如果是多步提交之前,可使用reset 将HEAD 移动回对应的版本,然后再提交修改。
注意:amend之后会产生新的版本号git log 看不出来,git reflog才能看的出来
2.3 git log
查看版本信息 ,命令输出信息中的commit 字段后跟着一个版本号。
git log
在Git中,用HEAD表示当前版本:
HEAD^ | 上一个版本 |
HEAD^^ | 上上个版本 |
HEAD~n | 上n个版本 |
不显示详细的提交信息
git log --pretty=oneline
图状显示
git log --graph --pretty=oneline --abbrev-commit
2.5 git reset --hard 版本回退
版本回退是本地代码管理的灵魂
git reset --hard 版本号 # 对应的策略
git reset --hard head^
版本号没必要写全,前几位就可以了.
2.6 git reflog
git reset 之后, git log不显示最新版本信息,使用git reflog查看历史命令,可以找到对应的版本号.
git reflog
2.7 git diff
对比文件差异
1.工作区Vs缓存区
git diff file_name // 对比工作区与缓存区file_name文件的差异
2.缓存区Vs上一次提交
git diff --cached file_name
3.工作区Vs上一次提交
git diff HEAD file_name
4.两次提交之间对应文件的差异
git diff 版本号1 版本号2 file_name // 对比两次提交相应文件的差异。
–号前后是对比对象吧
2.8 git checkout --file 工作区文件恢复
git checkout – readme.txt
让文件回到最近一次git commit或git add时的状态。
暂存区里有 未提交的readme.txt ,则将其恢复到工作区
暂存区里无 未提交的readme.txt ,则将版本库里的readme.txt 恢复到工作区
两个作用 | |
---|---|
1 | 丢弃工作区里的修改 |
2 | 恢复工作区误删的文件误删操作 |
git checkout 不带–,切换分支命令,后续讲解
2.9 git rm 删除版本库里的文件
将文件从版本库中删除
git rm test.txt
git commit -m “remove test.txt”
廖雪峰老师博文学习笔记:https://www.liaoxuefeng.com/wiki/896043488029600/897884457270432
Github(3)-本地文件管理相关推荐
- Android本地文件管理器思路解析一一增删改查具体实现
花了一天的时间撸完了Android本地文件管理器~!!GitHub下载地址为:PumpkinFileManager 南瓜文件管理器1.0. 功能列表: 1: 实现了在ListView中浏览本地所有文件 ...
- git的使用,以及GitHub上的文件管理(最少必要技能,小白入门版)
关于git的安装可以直接进官网下载:https://git-for-windows.github.io/ 安装好Git工具后,下面我们开始使用git进行GitHub上的文件管理: 第一步:创建一个仓库 ...
- Github 之 本地上传代码到 Github ,并且添加 .gitignore 文件 屏蔽一些文件上传(内附详细步骤)
Github 之 本地上传代码到 github ,并且添加 .gitignore 文件 屏蔽一些文件上传(内附详细步骤) 目录 Github 之 本地上传代码到 github ,并且添加 .gitig ...
- 同步Overleaf, Github与本地latex文件
同步Overleaf, Github与本地latex文件 最近要用Latex多人协同写论文,于是就选了Overleaf .这个网站可以实现多人协同写论文,并且支持latex在线编译,以及不同历史版本之 ...
- Github 设置本地gpg和远程ssh
文章目录 1 本地gpg 1.1 创建新的gpg秘钥 1.2 从已有秘钥中拉取 1.3 告知git 本地gpg秘钥 1.4 本地commit以及tag 2 远程ssh 2.1 生成sshkey 2.2 ...
- GitHub创建本地分支并且和GitHub远程分支建立关系
GitHub分为本地分支和远程分支,首先这单需要搞明白,git真不愧是实习生杀手,真的很恶心,我就是刚开始没搞明白本地和远程的区别,才各种踩坑. 远程GitHub分支 就是在GitHub上可以看见的分 ...
- Github(2)-本地配置git
本地配置git 1.注册账号 2.安装git工具 3.配置git 账号 1.注册账号 github网页注册github账户 2.安装git工具 本地安装git工具 step1 查看是否安装git gi ...
- Github——git本地仓库建立与远程连接(最详细清晰版本!附简化步骤与常见错误)
前提概要: github进不去?图片显示不出来? 有没有更简单的github上传方式?! 戳这里←←←← 文章目录 一.git简介 二.git下载 三.git安装 3.1config设置(增删改查) ...
- git:关联github和本地仓库
用户名和邮箱地址的作用 用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变. 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. ...
最新文章
- Pycharm中一些不为人知的技巧pycharm技巧
- bootstrap 新闻列表_kuapingUI 2.2 版本发布,跨屏 UI-bootstrap 大组件 UI 框架
- 如何快速使用Leangoo看板工具进行项目协作?
- (转载)php array_merge 和 两数组相加区别
- python统计字符在文件中出现的次数_一文搞定统计字符串中某字符出现的频次
- 关于dubbo的几个问题
- 安卓案例:联选系部与专业
- Android滑动页面返回(自定义控件)
- scp拷贝服务器文件,scp 拷贝文件到远程服务器
- excel取消隐藏_Excel教程:教你两招,批量取消隐藏工作表
- 未来新型计算机可分为哪三种,未来有可能引起计算机技术革命有哪几种呢
- 承认你的父母其实不那么爱你
- python 自动打包pyd
- Linux 日志切割神器 Logrotate 原理和配置详解(附多生产实例)
- 使用系统自带计算器进行二进制运算
- 商城项目介绍以及ES6的新语法
- 材料科学计算机模拟技术,计算机模拟技术在材料科学中的应用
- 四川发展供应链金融的三个建议及对策
- python提取excel-Python操作Excel之数据提取
- 对待开源 厂商为何“犹抱琵琶半遮面”
热门文章
- 电气技术应用和计算机应用,电气技术应用专业介绍-1.ppt
- python浮点型数据怎么显示为图片_python数字图像处理(4):图像数据类型及颜色空间转换...
- 【转】谈谈c#中异步编程模型的变迁**
- linux mysql移植_linux 下mysql 移植设置方法
- 【OSG】OSG软件模块结构
- Python 数据分析三剑客之 NumPy(六):矩阵 / 线性代数库与 IO 操作
- 【HDU - 5187】zhx's contest (快速幂+ 快速乘,模板)
- 【CodeForces - 632B】Alice, Bob, Two Teams (预处理,思维,前缀和后缀和)
- android 按钮按下缩放,android捏缩放
- java dom创建xml文件_Java 如何使用dom方式读取和创建xml文件