git文件操作
git下载地址:
https://git-scm.com/download
mac 直接使用brew下载brew install git
1Git一般工作流程:
1、在工作目录创建版本库
2、在工作目录中操作文件
3、将需要进行版本管理的文件放入暂存区域
4、将暂存区域的文件提交到 Git 仓库
5、Git本地仓库文件推送到git远程仓库(github、gitee等)
Git 管理的文件有三种状态:
已修改(modified)
已暂存(staged)
已提交(committed)
2进行初始化配置:
git config --global user.name "用户名"
git config --global user.email "邮箱"
版本库介绍&创建:
一般把版本库也叫仓库(repository),其实我们可以简单的把它看成一个目录,只不过目录里面的文件都会由 Git 进行管理,当我们对文件进行修改、删除、Git 都可以对其进行跟踪,或者在将来某个时刻还可以将文件“还原”。
3 git创建版本库步骤:
1、创建一个空目录,如 d:\git_repository
2、进入到命令窗口,切换到该目录,输入git init 命令即创建完成
3、使用dir查看可以看到文件夹内部多了一个 .git的隐藏文件夹
git log --pretty=oneline
git config --global --edit
git commit --amend --reset-author
4 撤销操作:
1、手动修改test_01.py文件,增加一行内容为print('test04'),发现添加有误
2、撤销修改操作方式有多种:
2.1 直接手动去更改文件,使用git add * 添加到暂存区,git commit 提交
2.2 使用命令 git reset --hard HEAD^ 回复到上一个版本
2.3 使用命令 ,进行撤销操作,该命令的含义是表示拉取暂存区文件,并将其替换工作区文件
5删除操作:
删除一般分为两种操作方式:
方式一:命令删除
1、手动新增一个test02.py文件,内容为print('test02');
2、使用git add * 、git commit 进行提交到版本库;
3、通过命令 git rm test02.py 进行删除操作;此操作会删除工作区的文件并同步添加到暂存区
4、通过命令git commit提交到版本库
备注:如果做完步骤三需要撤销删除,先执行命令git reset HEAD test02.py,再执行命令git checkout -- test02.py
git reset HEAD test02.py 把暂存区的更新还原成上一次的,即有test02的时候,变红
git checkout -- test_02.py 把暂存区还回去仓库
方式二:手工删除
1、手动新增一个test02.py文件,内容为print('test02');
2、使用git add * 、git commit 进行提交到版本库;
3、在工作区手工删除test02.py文件
4、使用命令 git add -A 把工作区的所有变化提交到暂存区
5、通过命令git commit提交到版本库
备注:如果做完步骤三需要撤销删除,可以通过命令 git checkout -- test02.py找回
六、重命名操作:
重命名文件和删除文件操作类似,也分为两种操作方式
方式一:命令重命名
1、手动新增一个test03.py文件,内容为print('test03');
2、使用git add * 、git commit 进行提交到版本库;
3、通过命令 git mv test03.py test3.py 进行重命名操作
4、通过命令git commit提交到版本库
备注:如果做完步骤三需要撤销重命名,先执行命令git reset HEAD test03.py,再执行命令git checkout -- test03.py ,此时不需要使用git rm删除,因为git reset操作已把暂存区的记录恢复到工作区,然后使用命令git rm -r --cached test3.py,把暂存区的文件信息删除,最后手工删除test3.py
git checkout -- test03.py 例如:
方式二:手工重命名
1、手动新增一个test03.py文件,内容为print('test03');
2、使用git add * 、git commit 进行提交到版本库;
3、在工作区手工重命名test03.py为test3.py;
4、使用命令git add -A 把工作区的所有变化提交到暂存区;
5、通过命令git commit提交到版本库
备注:如果做完步骤三需要撤销重命名,可以通过命令 git checkout -- test03.py找回,然后在工作区手工删除test3.py文件
关注工作区和暂存区的状态,仓库是可以同步到暂存区的。
七、修改最后一次提交操作:
版本刚一提交(git commit)到仓库,发现注释写错或少提交了部分文件,此时需要修正这次提交的内容,把这样的操作称为修改最后一次提交操作。
操作如下:
1、手动新增一个test04.py文件,内容为print('test04')
2、使用git add * 、git commit -m “新增test05.py代码” 进行提交到版本库
3、使用命令 git commit --amend -m "新增test04.py代码" ,把最后一次提交的注释进行修改,--amend 选项的 commit 命令(即git commit --amend)git 会“更正”最近的一次提交。
4、再次新增一个文件test05.py文件,内容为print('test05');
5、使用git add *命令添加到暂存区
6、使用命令 git commit --amend -m "新增test04.py\test05.py代码" 把test05.py也置入最后一次提交的版本中
备注:过程中可以使用git log 查看日志
git clean:从工作目录中删除没有被git跟踪过的文件,它包含如下参数:
-n 提示哪些文件会被删除
-f 删除当前目录下所有没有跟踪过的文件. 它不会删除.gitignore文件里面指定的文件夹和文件
-f <path> 删除指定目录下所有没有跟踪过的文件
-df 删除当前目录下所有没有跟踪过的文件和文件夹
-xf 删除当前目录下所有没有跟踪过的文件,包含.gitignore文件中设置的文件
git文件操作的更多相关文章
- git初体验(二)基础git文件操作
文件操作续 忽略一些文件 只需在主目录下建立".gitignore"文件,注意新建的是文件而非文件夹,在win窗口中不能建立以.开头的文件,只能在dos下: E:\knowcars ...
- [git] 文件操作
文件操作 1. git add 1.1 将未被git管理的文件添加到暂存区 一次可添加多个文件 文件夹,中间用空格隔开 git add 文件/文件夹 文件/文件夹 再次执行 git sta ...
- 本地Git项目搭建和文件操作
Git项目搭建 git init ---在该文件夹下进入cmd/terminal git clone [url] ---克隆远程仓库到本地 Git文件操作 文件的四种状态: · Untracked:未 ...
- git的忽略文件和删除文件操作
1 删除工作区和暂存去的a文件$ git rm a 2只删除暂存去的 a文件,a文件就不被跟踪了.可以执行git add a从新添加回暂存去$ git rm --cached a 3 git mv 操 ...
- git中的文件操作
现在我们的机器上有了一个 真实项目 的 Git 仓库,并从这个仓库中检出了所有文件的 工作副本. 通常,你会对这些文件做些修改,每当完成了一个阶段的目标,想要将记录下它时,就将它提交到仓库. git中 ...
- Git:文件操作和历史回退
目录 创建仓库 创建文件/文件夹 修改文件/文件夹 回到修改前的版本 撤销修改 删除文件 工作区.暂存区.版本区 创建仓库 创建新文件夹:mkdir learngit 进入:cd learngit l ...
- Git远程操作详解
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...
- Git远程操作
Git远程操作 // */ // ]]> Git远程操作 Table of Contents 1 Git远程命令概览 2 Git远程仓库与本地仓库的关系图 3 git clone 4 git ...
- Android数据存储-文件操作
一.预备知识 1.Android中的MVC设计模式 MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器.一个逻辑模型可以对于多种视图模型,比如一批统计 ...
随机推荐
- 通过Spring profile方式实现多环境部署
1 多环境部署 在实际软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行.例如,各个环境数据库地址不同,需要单独配置.spring高级装备中提供profile,来支持多环境部署. 1.1 ...
- 珍藏的C语言编程系列教程
本文有332个文字,大小约为2KB,预计阅读时间1分钟 这是本人珍藏的C语言.C++系列教程. 相信每个Coder的第一门编程语言就是C语言吧, 现在也依然很热门,不谈了.直接上链接,感兴趣的直接存, ...
- PB级大规模Elasticsearch集群运维与调优实践【>>戳文章免费体验Elasticsearch服务30天】
[活动]Elasticsearch Service免费体验馆>> Elasticsearch Service自建迁移特惠政策>>Elasticsearch Service新用户 ...
- PHP面向对象的学习(封装,继承,多态)
这个文章就是记录 巩固一下PHP的面向对象的部分 ,无非就是封装,继承,多态等等这几部分 这里参考了一位大佬总结的文章:https://www.cnblogs.com/adaia/p/6986576 ...
- Open_basedir绕过
Open_basedir绕过 一.基础知识 open_basedir是php.ini中的一个配置选项,它可将用户访问文件的活动范围限制在指定的区域, 假设open_basedir=/home/wwwr ...
- 解决Yii ActiveForm监听submit触发2次submit
今天用yii框架的ActiveForm需要一个奇怪的问题,点击表单提交时会触发两次submit 产生问题的原因: form挂了2次submit事件,一次是yii activeform自带的,一次是我写 ...
- Asp.net Core使用Quartz.net
1.介绍:Quartz.Net主要是用来做一些周期性的工作,或者定时工作.比如每天凌晨2点执行某个方法或者调用某个接口. Quartz项目地址:https://github.com/quartz-sc ...
- vue 动态注册路由 require.context
需求场景: 在日常的功能练习和调试过程中,需要一个demo项目进行功能测试,由于频繁.vue页面的同时,又要再router.js文件里面注册路由,感觉有点无聊和枯燥.基于此出发点,考虑能否自动读取文件 ...
- JDK8-日期时间新方式
日期时间新方式 在日常开发中,对于日期操作是非常常见的,但是对于有经验的开发人员来说Java8之前的日期操作是有较大问题 的.比方说SimpleDateFormat.但是在Java8之后提出了Da ...
- 本地TOMCAT启动打包项目(WAR)
首先打个包,右击项目-->Export... 选择WEB-->WAR file-->Next 选个放置地址,勾选红框处-->finish 找到自己的tomcat目录 ...