当前位置: 首页 > news >正文

Git的一些简单使用

下列内容适用于git初学者,从创建本地git仓库到提交的一个基本过程1.
1.创建git仓库

在想创建git仓库的路径下打开git bash,输入以下命令行创建仓库(一般来说,我觉得直接在code workspace得地方创建git仓库就可以了,这样commit代码得时候也不用先付知道git仓库所在得文件夹下)

git init

将会生成一个.git文件夹(如果没有发现,说明这个文件夹被隐藏了,但还是存在的) 

2.提交要保存的文件

可以先把要提交的文件放到.git仓库所在的文件夹下,然后运行下面的命令:

git add 要上传的文件

这样是上传到缓存区,相当于只是先把文件放上去,等到最后提交到仓库中

3. 提交到仓库中,加上备注

git commit -m "file is updated" (这里的-m 是message的意思)

都提交上去之后,显示working tree clean,也就是没有什么待提交的了

4.查看提交记录

git log简洁显示_git log简单显示-CSDN博客

5.回退到某一版本

git  reset --hard <commit hash>

6.把某个版本的从git仓库中拉下来,这里注意:如果拉下来的文件路径所在的文件夹中有一个文件和被拉下来的文件重名,比如从git中拉下来的文件为“file.txt”,然后path/to/file这个路径下也有个“file.txt”,那么就会被拉下来的文件直接覆盖。所以建议path/to/file是一个专门保留从git上拉下来的内容的路径。

7. git status

git的目的就是:及时的检测更改,就是为了让你能够把不同版本的代码及时的保存提交,所以git status也只会对可能会影响此结果的事情进行提示,比如可能要提交的文件的修改才会在git status中显示,或者虽然是被提交的文件,但是如果没有修改后再次add,也不会再git status中显示。

8.通常的使用流程

(1)git add 提交代码

(3)git commit提交到本地仓库

(4)版本回退:git status 看下有没有未提交的修改,确保提交了未提交的修改后再git reset --hard <commit ID> (或者如果未提交的修改是无用的,直接reset也无妨)

这里注意,在git reset之前一定要用git status检查下距离上次提交后做了哪些更改,但还没有add 和 commit的内容,可以用git diff <file_path>来看做了哪些修改, 否则reset之后会被直接覆盖掉,无法保存!!!!也就是说,每次reset前都要检查下是否有为保存的更改。

或者是做好备份再进行reset!!!!!

9. 本地版本管理,怎么把git commit的文件再下载到本地:

在git仓库所在目录下,运行:

git archive -o exported.zip <commit_hash> > /dev/null

exported.zip 导出的压缩文件的名称,这个命令是可以设置导出的文件类型和其它一些具体细节的,具体用的时候再查吧。

这样,在git仓库路径下就生成了一个exported.zip的压缩文件,存储了commit时的版本。

但是好像如果不在.git目录下之执行此命令,也能生成exported.zip,但里面没有内容 

注意!!!

git archive -o exported.zip <commit_hash> > /dev/null

这个要是不行,用下面的命令,直接用下面的命令

git archive -o exported.zip <commit_hash>

http://www.lryc.cn/news/417553.html

相关文章:

  • C++基础语法(下)
  • UKP3d创建斜管的操作
  • 【已解决】如何获取到DF数据里最新的调薪时间,就是薪资最高且时间最早?
  • PyQt5入门
  • 算法力扣刷题记录 六十九【动态规划基础及509. 斐波那契数】
  • 如何利用Python进行数据分析
  • 如何判断机器学习模型的好坏之LIME和SHAP
  • Android 是如何进行内存管理的
  • 【CSDN平台BUG】markdown图片链接格式被手机端编辑器自动破坏(8.6 已修复)
  • WPF学习(4)- VirtualizingStackPanel (虚拟化元素)+Canvas控件(绝对布局)
  • SQL约束
  • lombok使用@slf4j 运行时提示找不到符号log(Missing POM for org.projectors:lombok:jar)
  • 21. 合并两个有序链表(递归)
  • 学习vue3 三,组件基础,父子组件传值
  • 月木学途开发 2.项目架构
  • FPGA开发——按键控制数码管的设计
  • 【AI学习】[2024北京智源大会]具身智能:具身智能关键技术研究:操纵、决策、导航
  • C语言实现UDP广播
  • 速记Java八股文——Redis 篇
  • CUDA编程05 - GPU内存架构和数据局部性
  • TCP协议程序设计
  • 【C++高阶】:自定义删除器的全面探索
  • Java中的不可变集合、Stream流以及异常处理的
  • LeetCode面试题Day1|LeetCode26 删除有序数组中的重复项、LeetCode80 删除有序数组中的重复项Ⅱ
  • 细说文件操作
  • Vue3从零开始——掌握setup、ref和reactive函数的奥秘
  • C语言练习--屏幕上打印九九乘法表
  • 将tsx引入vue
  • 前端实现签字效果+合同展示
  • [AI Embedchain] 开始使用 - 快速开始