Git 学习笔记 (一)

简介: Git 学习笔记 (一)

在开始任何命令之前,先上一张图,下面的所有的命令都是围绕这张图展开的



常用命令#


初始化本地库#


git init


会生成一个.git结尾的隐藏文件


查看工作区文件的状态#


git status


红色表示新增或者被修改的文件, 绿色表示被管理(添加进缓存区)的文件,git status命令查看不到被上传到本地库的文件


在这里再拓展一个命令: git checkout --file 可以撤销在工作空间对这个文件的修改


将文件添加进缓存区#


git add .
git add [文件名]


把项目移除出缓存区#


git -rm --cached [名称]


提交到本地库#


git commit -m '描述信息'


查看历史提交#


git log
git reflog


回退到上一个版本#


假设我们的版本迭代顺序是: 版本1 -> 版本2 -->版本3

  • 先从版本3 回退到版本2


git log // 目的是找到历史版本的md5 tag值
git reset --hard [md5格式的tag值]
// HEAD表示当前版本 
// ^ 表示上一个版本,  100个^表示 : 第前100个版本
git reset --hard HEAD^


  • 再从2回退到版本3


git reflog // 目的是找到历史版本的md5 tag值
git reset --hard [md5格式的tag值]


找回已经删除的文件#


找回已经删除的文件是有前提的,什么前提呢? 前提是: 这个被删除的文件曾经被上传到过本地库


第一种情况:, 我们在本地将文件删除了,并且这次更改的操作被commit到本地库,那么我们回退一下版本不就把文件找回来了?


第二种情况:, 我们在本地删除了这个文件,但是我们还没有将这次操作commit提交到本地库, 于是我们使用下面的命令,目的是,重新检出文件


git reset --hard [指针HEAD的hash值]


分支#


分支的目的是隔离不同的环境


指针的概念: 比如说在master是已经上线了的主分支,它里面存在1000个文件,还有第二个叫dev的开发分支,在这个所有的新功能的拓展都在这个用来开发的分支上编写,假设又新增了100个文件,其实这个叫dev的分支器中真正保存的是自己新增的100个文件,其他的1000个文件通过指针的方式指向master分支


查看当前的分支#


git branch


创建分支#


git branch [分支名]
git checkout -b [分支名]


删除分支#


git branch -d [分支名]


合并分支#


git merge [分支名]


如何紧急修复bug#



如上图: 采用分支的特点,可以灵活的解决线上的bug, 为什么非的新开辟一个临时分支呢? 因为如果想让dev分支去修改bug是一个得不偿失的行为,很可能这时dev分支的开发人员已经写了很多天的新代码了, 让dev去修复bug,就的先让dev将本地的未写完的代码提交到本地库,然后从master分支上拉取代码到本地,这样诚然可以修改bug,但是修改完了后怎么提交呢? 没法提交啊,新代码往哪里放?


综上:,需要新开辟一个临时分支,临时分支,让临时分支去修改bug,然后让master去merge这个临时分支, bug修复后,临时分支可以剔除


本地的当前项目存在多个分支的话,做了个改动后得先提交到本地库才能再切换分支


产生冲突时报错#


在merge时,难免出现代码冲突, 向下面这样报错


$ git merge dev
Auto-merging index2.html
CONFLICT (content): Merge conflict in index2.html
Automatic merge failed; fix conflicts and then commit the result.


这时需要我们手动去解决,然后重新 add到缓冲区, 再commit到本地库 ,git会我们生成类似下面这样的字符串


hello one git
    9  <<<<<<<<<<<HEAD
    10 hello two git  edit by hot_fix
    11 ===========
    12 hello two git  edit by master
    13 >>>>>>>>>>> master
    14 hello three git


相关文章
|
3月前
|
Linux 网络安全 开发工具
Git学习笔记(一):基础与应用
本文档详细介绍了如何将本地项目关联到Gitee上的空仓库并上传代码,以及如何验证本机与Git服务器的SSH连接。同时,还概述了Git的基本概念、安装步骤、初始配置、常见命令及如何配置多个SSH-Key,适用于初学者快速上手Git操作。
147 51
Git学习笔记(一):基础与应用
|
6月前
|
安全 Linux 开发工具
Git学习笔记
这篇文章是一份Git学习笔记,涵盖了Git的基本命令、工作流程、项目搭建、文件状态管理,以及如何使用码云和IDEA进行版本控制操作。
Git学习笔记
|
9月前
|
Shell 网络安全 开发工具
Git学习笔记
Git学习笔记
148 1
Git学习笔记
|
7月前
|
存储 安全 开发工具
Git学习笔记 三个区域、文件状态、分支、常用命令
理解并掌握这些概念和命令,对于有效地使用Git来管理项目源代码是至关重要的。Git的强大功能支持了复杂的开发工作流程,而良好的Git实践能够极大地提高团队的协作效率。随着实践的增多,对于Git更深层次的功能和最佳实践的理解也会随之增长,进一步加强你作为一个软件开发者的能力。
89 0
|
Linux 网络安全 开发工具
Git学习笔记
Git学习笔记
99 0
|
Linux 网络安全 API
git常用命令学习笔记
git常用命令学习笔记
82 0
|
程序员 开发工具 git
搭建博客可能会用到的 Git 命令|学习笔记
搭建博客可能会用到的 Git 命令|学习笔记
|
缓存 Shell 开发工具
【BackEnd--Git】学习笔记(实战开发常用技巧)
Git学习笔记(实战开发常用技巧)
140 0
|
算法 安全 Linux
git第n次学习笔记
git第n次学习笔记
|
开发工具 git 索引
Git学习笔记-详细使用教程
Git学习笔记-详细使用教程
Git学习笔记-详细使用教程

相关实验场景

更多