使用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)-本地文件管理相关推荐

  1. Android本地文件管理器思路解析一一增删改查具体实现

    花了一天的时间撸完了Android本地文件管理器~!!GitHub下载地址为:PumpkinFileManager 南瓜文件管理器1.0. 功能列表: 1: 实现了在ListView中浏览本地所有文件 ...

  2. git的使用,以及GitHub上的文件管理(最少必要技能,小白入门版)

    关于git的安装可以直接进官网下载:https://git-for-windows.github.io/ 安装好Git工具后,下面我们开始使用git进行GitHub上的文件管理: 第一步:创建一个仓库 ...

  3. Github 之 本地上传代码到 Github ,并且添加 .gitignore 文件 屏蔽一些文件上传(内附详细步骤)

    Github 之 本地上传代码到 github ,并且添加 .gitignore 文件 屏蔽一些文件上传(内附详细步骤) 目录 Github 之 本地上传代码到 github ,并且添加 .gitig ...

  4. 同步Overleaf, Github与本地latex文件

    同步Overleaf, Github与本地latex文件 最近要用Latex多人协同写论文,于是就选了Overleaf .这个网站可以实现多人协同写论文,并且支持latex在线编译,以及不同历史版本之 ...

  5. 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 ...

  6. GitHub创建本地分支并且和GitHub远程分支建立关系

    GitHub分为本地分支和远程分支,首先这单需要搞明白,git真不愧是实习生杀手,真的很恶心,我就是刚开始没搞明白本地和远程的区别,才各种踩坑. 远程GitHub分支 就是在GitHub上可以看见的分 ...

  7. Github(2)-本地配置git

    本地配置git 1.注册账号 2.安装git工具 3.配置git 账号 1.注册账号 github网页注册github账户 2.安装git工具 本地安装git工具 step1 查看是否安装git gi ...

  8. Github——git本地仓库建立与远程连接(最详细清晰版本!附简化步骤与常见错误)

    前提概要: github进不去?图片显示不出来? 有没有更简单的github上传方式?! 戳这里←←←← 文章目录 一.git简介 二.git下载 三.git安装 3.1config设置(增删改查) ...

  9. git:关联github和本地仓库

    用户名和邮箱地址的作用 用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变. 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. ...

最新文章

  1. Pycharm中一些不为人知的技巧pycharm技巧
  2. bootstrap 新闻列表_kuapingUI 2.2 版本发布,跨屏 UI-bootstrap 大组件 UI 框架
  3. 如何快速使用Leangoo看板工具进行项目协作?
  4. (转载)php array_merge 和 两数组相加区别
  5. python统计字符在文件中出现的次数_一文搞定统计字符串中某字符出现的频次
  6. 关于dubbo的几个问题
  7. 安卓案例:联选系部与专业
  8. Android滑动页面返回(自定义控件)
  9. scp拷贝服务器文件,scp 拷贝文件到远程服务器
  10. excel取消隐藏_Excel教程:教你两招,批量取消隐藏工作表
  11. 未来新型计算机可分为哪三种,未来有可能引起计算机技术革命有哪几种呢
  12. 承认你的父母其实不那么爱你
  13. python 自动打包pyd
  14. Linux 日志切割神器 Logrotate 原理和配置详解(附多生产实例)
  15. 使用系统自带计算器进行二进制运算
  16. 商城项目介绍以及ES6的新语法
  17. 材料科学计算机模拟技术,计算机模拟技术在材料科学中的应用
  18. 四川发展供应链金融的三个建议及对策
  19. python提取excel-Python操作Excel之数据提取
  20. 对待开源 厂商为何“犹抱琵琶半遮面”

热门文章

  1. 电气技术应用和计算机应用,电气技术应用专业介绍-1.ppt
  2. python浮点型数据怎么显示为图片_python数字图像处理(4):图像数据类型及颜色空间转换...
  3. 【转】谈谈c#中异步编程模型的变迁**
  4. linux mysql移植_linux 下mysql 移植设置方法
  5. 【OSG】OSG软件模块结构
  6. Python 数据分析三剑客之 NumPy(六):矩阵 / 线性代数库与 IO 操作
  7. 【HDU - 5187】zhx's contest (快速幂+ 快速乘,模板)
  8. 【CodeForces - 632B】Alice, Bob, Two Teams (预处理,思维,前缀和后缀和)
  9. android 按钮按下缩放,android捏缩放
  10. java dom创建xml文件_Java 如何使用dom方式读取和创建xml文件