4.Git基本命令操作
1.git init 把一个目录变成Git可以管理的仓库
2.git add/commit 将文件提交至Git版本库
git add xxx.txt 完成对文件的跟踪(加入暂存区,为git commit做准备)
git commit -m "xxx" 完成对文件内容提交至Git版本库
eg:通过命令:echo 'Study Git Project Manager' > gitTest.txt 将内容写入新建的gitTest.txt文件中,该文件位于bi-report项目中
在IDEA中看到为红色的,说明gitTest.txt文件并没有被加入到Git版本控制中来
3.git log 查看历史记录(相当于IDEA中的Show History)
这样看历史,发现太多的话,可以加上--pretty=online参数,这样看着会方便点。
中途对gitTest.txt作出如下两次修改:
第一次修改:追加 first modify gitTest.txt 至文件
第二次修改:追加 second modify gitTest.txt 至文件
4.git reset 回退版本
当前版本是HEAD,上一个版本是HEAD^,上两个版本是HEAD^^,上100个版本则可以用HEAD~100表示
回退到上一个版本后,通过git log --pretty=oneline发现最新的那个版本已经没有了,我后悔回退到上一个版本怎么办?
如果你没有关闭当前命令行工具,你可以知道它的commit id为6fed83eeaf9d2151cfea6a1921c3077ce4cf11bd,你可以通过id来进行恢复。
如果你关闭了当前命令行工具,也不知道commit id是多少,那就没有办法回退到原有的最新版本了吗?使用如下的git reflog命令。
5.git reflog 用来记录你的每一次命令信息
找到commit id后,通过 git reset --hard 6fed83a 便可以解决4中的问题了
6.git status 显示工作目录和暂存区的状态
①想修改一下gitTest.txt文件 ②然后新增一个licence.txt,内容随机填写
gitTest.txt已经在Git版本库中,licence.txt为新增文件(IDEA中通过颜色可以看出)
7.git diff 查看工作区和版本库中最新版本的区别
情形:gitTest.txt文件,第1次修改 执行git add
第2次修改 执行git commit -m '修改gitTest.txt文件'
相当于:将第1次修改放入暂存区,第2次修改只在工作区,执行git commit只是把暂存区数据进行了提交,第2次修改并未提交
明显gitTest.txt文件追加了2行,提交却显示修改1行,为什么?
因为Git追踪的是修改,而SVN追踪的是文件。当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。
通过git diff -- 文件名 便可以查看工作区与版本库中最新版本的区别
如果将第2次修改,也执行git add操作,再执行git commit命令提交后。通过git diff命令再次查看工作区与版本库中最新版本区别
8.git checkout 丢弃工作区的修改
有3种情形:
①第1次修改文件(工作区),不提交至暂存区;此时可通过git checkout命令,直接将工作区内容丢弃
②第一次修改文件,执行git add提交至暂存区;第2次修改,不提交至暂存区;执行git checkout命令,会回退到暂存区状态
③第一次修改文件(如:git rm <file>删除文件,会自动提交至暂存区,省去git add操作),发现改文件不需要删除,需要将暂存区数据回退;可以使用git reset HEAD <file>将暂存区数据回退,此时可通过git checkout回退至与最新版本库一致
情形1:gitTest.txt文件,第1次修改,追加了一句不友好的话,不执行git add等操作,相当于只在工作区修改。此处通过git checkout命令,会直接将修改的内容丢弃。
情形2:gitTest.txt文件,第1次修改,执行git add放至暂存区。第2次修改,追加了一句不友好的话,并没有执行git add,第2次修改只在工作区进行。此处通过git checkout命令,只会丢弃掉第2次修改的内容,回到添加到暂存区后的状态
情形3:基于情形2,已经将第1次修改放至暂存区了,现在发现这个文件不需要修改,便决定将放至暂存区的内容也丢弃掉,该怎么解决呢? ---- 使用命令: git reset HEAD 文件名
9.git rm 从版本库中删除文件
情形1:只删除工作区文件,版本库中文件未做改动(在某些IDE中,如果直接删除文件,会直接将暂存区的文件也直接删除,如果通过git checkout命令,是无法还原回来的。诸如:IntelliJ IDEA)
情形2:删除版本库文件(执行git rm会提交至暂存区,需再次git commit才能提交至版本库,完成真正的删除操作)
10.git rm -r -f --cached ./ 删除暂存区缓存
4.Git基本命令操作相关推荐
- git基本命令行操作
git基本命令行操作 前提:gitlab上有账号;已添加为项目成员;本地机器生成ssh key;填写ssh key到账号的settings (在本地开发机器安装git后,可以用IDEA集成git.ex ...
- git 基本命令和操作
设置全局用户名+密码 $ git config --global user.name 'runoob' $ git config --global user.email test@runoob.com ...
- redis-----07-----redigo基本命令操作(主要讲如何让go的struct、map展开成redis的参数,以及使用struct获取redis返回的key-value批量数组)
1 请求回应模式 redis 与 client 之间采用请求回应模式,一个请求包对应一个回应包.但是也有例外,pub/sub 模式下,client 发送 subscribe 命令并收到回应包后,之后被 ...
- js git基本命令
js git基本命令 git的使用和命令 版本控制系统 及 git的使用 版本控制系统 每写一次 就能保存一次历史版本团队协作开发 集中式管理 cvs.svn git的工作原理 工作区:我们能看到的, ...
- git基本命令及核心
Git基本命令 1.初始化git仓库:git init 2.添加到暂存区:git add . 3.提交代码:git commit -m '提交的描述信息' 4.推送提交的内容到远程:git push ...
- Git基本命令及缩写
Git基本命令 首先配置全局用户名,和邮箱 git config --global user.name "Your Name" git config --global user.e ...
- 图解 Git 基本命令 merge 和 rebase
Git 基本命令 merge 和 rebase,你真的了解吗? 前言 Git 中的分支合并是一个常见的使用场景. 仓库的 bugfix 分支修复完 bug 之后,要回合到主干分支,这时候两个分支需要合 ...
- 第二章Linux 基本命令操作
第二章Linux 基本命令操作 本节所讲内容: 2.1 Linux 终端介绍.Shell 提示符.Bash Shell基本语法: 2.2 基本命令操作: 2.3 系统时间管理: 2.4 帮助命令使用: ...
- java代码操作git_JGit--实现Git命令操作的Java API
问题来源:最近在做一个项目,其中有一块需要用户上传代码到服务器中,然后分析用户所传的代码,传代码最直接的方式就是用户打个包上传,但是后期再分析代码的时候还要代码实现解压上传的代码,操作起来比较复杂. ...
最新文章
- 四则运算2.0版程序
- Objective-C单例实现
- AdminLTE组件之表格DataTable
- java最少有多少线程_【并发编程】一个最简单的Java程序有多少线程?
- android UI进阶之实现listview的分页加载
- 数据挖掘肿瘤预测_喜欢临床预测模型|SEER数据挖掘的期刊有哪些
- c 语言 strcmpy的实现
- Spark:windows下配置spark开发环境
- 使用 matlab 进行正太拟合
- 免费语音识别_免费 语音识别_免费语音识别api - 云+社区 - 腾讯云
- 台风怎么看内存颗粒_【无趣】使用300多元的D4 16G内存是种什么体验
- Swing 线程之SwingUtilities.invokeLater()
- 掌握Thinkphp3.2.0----标签库
- Linux系统版本介绍
- 美国计算机专业nlp大学排名,美国人工智能专业排名前7的一流学府 看看哪所院校最令你心动吧!...
- 关于浏览器内核的一些小知识,明明白白选浏览器
- p7510 rom android 8,三星p7510 recovery卡刷rom 刷机教程
- ARC083简要题解
- 测绘资质申请标准及好处
- 小米装linux双系统,小米9双系统发布