IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git简易入门教学 -> 正文阅读

[开发工具]git简易入门教学

本博客仅作个人学习记录,也希望本博客对大家也有所帮助。

1.git整体架构

下面这张图是从网上搜来的,感谢原作者!
在这里插入图片描述
工作区:也就是所看到的目录
暂存区:工作区的修改可以存储到暂存区,修改可以撤回。
仓库区:将修改好的文件提交到仓库区后不能再更改,只能提交新版本覆盖。


2.git常用命令

命令名称命令作用
git add 文件将指定文件从工作区上传到暂存区
git add .将所有文件从工作区上传到暂存区
git rm 文件将文件从工作区和暂存区暂存区删除
git commit -m “日志信息” 文件名将指定文件从工作暂存区上传到本地库。如果没有文件名,则上传所有文件
git push 主机名 分支名将本地库信息上传到远程库。主机名默认为origin
git status查看工作区和暂存区的状况

2.1建立本地库

建立本地库有两种方法
1.git init
用来初始化当前目录,作为本地仓库。当前目录下会产生一个.git隐藏文件夹,用来记录该仓库的信息。
2.git init 初始化一个空的新项目,然后通过 git remote add origin 远程仓库地址 和某个远程git仓库关联起来。
在这里插入图片描述

2.git clone 远程库地址
拷贝一个远程git仓库到本地。除了进行git init的操作外,还会将远程git仓库的文件下载到本地仓库。

2.2用户名设置

全局用户信息
git config --global user.name 用户名 设置全局用户名
git config --global user.email 邮箱 设置全局用户邮箱
设置完成后可以在home目录下的.gitconfig文件下查看

本仓库信息信息
git config user.name 用户名
git config user.name 用户名

??当没有设置本仓库信息时,修改远程仓库默认使用全局用户信息;当设置好本仓库信息时,修改远程仓库使用本仓库用户信息。可以使用git config user.namegit config user.email来查看当前所使用的用户信息。
在这里插入图片描述

2.3 一个提交新版本的例子

1.在工作区创建了一个新的文件gittest.txt,输入git status可以检测到未追踪文件(Untracked files)gittest.txt,并且提示使用git add来提交到暂存区。
在这里插入图片描述
2.输入命令git add gittest.txt再查看git状态,检测到暂存区有新文件gittest.txt。
在这里插入图片描述
3.输入命令git commit -m 'create gittest.txt'再查看git状态,显示本地分支比远程分支超前了一个commit,并提示用git push命令来提交本地的commit。
在这里插入图片描述
4.输入命令git push origin master'将本地的commmit提交到远程仓库,再查看git状态,没有检测到需要提交的文件。
在这里插入图片描述


3.git版本管理

命令名称命令作用
git log查看版本详细信息
git reflog查看版本简易信息
git reset回退版本

git reset 的详细用法可以看这篇文章https://www.runoob.com/git/git-reset.html
另外,版本号可以通过git reflog查看,例如3e3de50就是当前的版本号,e8fe73d就是上一版本的版本号。
在这里插入图片描述

4.git分支管理

命令名称命令作用
git checkout 分支名切换分支
git branch -v查看分支
git branch 分支名创建分支
git merge 分支名把指定的分支合并到当前分支上

4.1 origin、master、head的理解

在2.3 一个提交新版本的例子中git push origin master,其中origin代表的是远程git服务器地址,称为远程主机名。通常我们clone一个代码,默认的远程仓库的名字就是origin。master指向master主分支上最近的一次提交,head默认指向master。在2.3例子中分支情况如下图:
在这里插入图片描述

4.2 创建新分支

1.git branch feature创建feature功能分支,feature会默认指向master,此时分支情况如下图:

在这里插入图片描述
2.git checkout feature切换到feature分支,此时分支情况如下图:
在这里插入图片描述
git branch -v查看分支情况,可以看到一共有两个分支,当前分支为feature,feature和master都指向同一版本。
在这里插入图片描述
注意:除了用git branch -v命令查看当前分支外,也可以查看cat .git/HEAD查看HEAD文件,该文件记录head指针指向哪个分支。

3.在feature分支上创建feature.txt文件并且提交到本地仓库。此时分支情况如下图:
在这里插入图片描述通过git branch -v也可以看到master和feature指向了两个不同的版本了
在这里插入图片描述
5.切换回master分支,可以看到切换分支后,工作区的内容也会跟着改变。
在这里插入图片描述
6.git merge feature在master分支上合并feature分支。此时的分支情况如下
在这里插入图片描述
这是一种比较简单的分支合并。当两个分支合并时,会比较每一个文件的每一行内容。这里feature只比master多了一个文件,那么分支合并就直接把master指向feature的版本就可以了。

考虑一下两种情况:
1.如果两个分支对同一个文件的第一行和第二行内容进行修改,分支合并的情况是怎样的?
2.如果两个分支对同一个文件的第一行内容都进行修改,分支合并的情况又是怎样的?
对于第一个问题,git会创建一个新的版本,该版本中对这个文件的第一行和第二行的修改都进行保存,然后将两个指针同时指向这个新的版本
对于第二个问题,git除了完成上述工作外,还需要认为决定新版本内容以确定该文件第一行的内容。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 21:15:36  更:2022-09-24 21:16:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:26:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码