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基本命令操作相关推荐

  1. git基本命令行操作

    git基本命令行操作 前提:gitlab上有账号;已添加为项目成员;本地机器生成ssh key;填写ssh key到账号的settings (在本地开发机器安装git后,可以用IDEA集成git.ex ...

  2. git 基本命令和操作

    设置全局用户名+密码 $ git config --global user.name 'runoob' $ git config --global user.email test@runoob.com ...

  3. redis-----07-----redigo基本命令操作(主要讲如何让go的struct、map展开成redis的参数,以及使用struct获取redis返回的key-value批量数组)

    1 请求回应模式 redis 与 client 之间采用请求回应模式,一个请求包对应一个回应包.但是也有例外,pub/sub 模式下,client 发送 subscribe 命令并收到回应包后,之后被 ...

  4. js git基本命令

    js git基本命令 git的使用和命令 版本控制系统 及 git的使用 版本控制系统 每写一次 就能保存一次历史版本团队协作开发 集中式管理 cvs.svn git的工作原理 工作区:我们能看到的, ...

  5. git基本命令及核心

    Git基本命令 1.初始化git仓库:git init 2.添加到暂存区:git add . 3.提交代码:git commit -m '提交的描述信息' 4.推送提交的内容到远程:git push ...

  6. Git基本命令及缩写

    Git基本命令 首先配置全局用户名,和邮箱 git config --global user.name "Your Name" git config --global user.e ...

  7. 图解 Git 基本命令 merge 和 rebase

    Git 基本命令 merge 和 rebase,你真的了解吗? 前言 Git 中的分支合并是一个常见的使用场景. 仓库的 bugfix 分支修复完 bug 之后,要回合到主干分支,这时候两个分支需要合 ...

  8. 第二章Linux 基本命令操作

    第二章Linux 基本命令操作 本节所讲内容: 2.1 Linux 终端介绍.Shell 提示符.Bash Shell基本语法: 2.2 基本命令操作: 2.3 系统时间管理: 2.4 帮助命令使用: ...

  9. java代码操作git_JGit--实现Git命令操作的Java API

    问题来源:最近在做一个项目,其中有一块需要用户上传代码到服务器中,然后分析用户所传的代码,传代码最直接的方式就是用户打个包上传,但是后期再分析代码的时候还要代码实现解压上传的代码,操作起来比较复杂. ...

最新文章

  1. 四则运算2.0版程序
  2. Objective-C单例实现
  3. AdminLTE组件之表格DataTable
  4. java最少有多少线程_【并发编程】一个最简单的Java程序有多少线程?
  5. android UI进阶之实现listview的分页加载
  6. 数据挖掘肿瘤预测_喜欢临床预测模型|SEER数据挖掘的期刊有哪些
  7. c 语言 strcmpy的实现
  8. Spark:windows下配置spark开发环境
  9. 使用 matlab 进行正太拟合
  10. 免费语音识别_免费 语音识别_免费语音识别api - 云+社区 - 腾讯云
  11. 台风怎么看内存颗粒_【无趣】使用300多元的D4 16G内存是种什么体验
  12. Swing 线程之SwingUtilities.invokeLater()
  13. 掌握Thinkphp3.2.0----标签库
  14. Linux系统版本介绍
  15. 美国计算机专业nlp大学排名,美国人工智能专业排名前7的一流学府 看看哪所院校最令你心动吧!...
  16. 关于浏览器内核的一些小知识,明明白白选浏览器
  17. p7510 rom android 8,三星p7510 recovery卡刷rom 刷机教程
  18. ARC083简要题解
  19. 测绘资质申请标准及好处
  20. 小米装linux双系统,小米9双系统发布

热门文章

  1. 搜楼网-四大问题,租办公室不得不注意!
  2. AndroidUI图片图标素材大全
  3. 2022软工第一次个人作业
  4. 自动化测试框架之Selenium
  5. 算法笔记(XI) 算法分析与勒贝格积分
  6. 后端开发必须要懂的Redis,Redis的数据结构
  7. 移动WEB开发之流式布局-京东案例
  8. JS中 parseInt和parseFloat
  9. Python模拟手机操作
  10. systemverilog-接口和时钟块