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 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 271-Linux git常用命令 -> 正文阅读

[开发工具]271-Linux git常用命令

1.git的四个工作区
git有4个工作区,就是写代码的地方,本地仓库,本地仓库里面包含一个暂存区,远程仓库,假如工作区有一个main.c会先传到暂存区,然后传到本地仓库,形成一个版本,如果又对main.c修改了,又提交一个版本,从工作区到暂存区到本地仓库,就会又形成一个版本,所以在本地仓库会形成多个版本,最后再把各个版本传到远程仓库中

①Workspace: 工作区,就是你平时存放项目代码的地方
②Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
③Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
④Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据
交换
在这里插入图片描述
2.git工作的一般流程
①在工作目录中添加,修改文件
②将需要进行版本管理的文件放入暂存区
③将暂存区的文件提交到git仓库

3.文件的四种状态
①Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态
变为Staged.
②Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文
件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
③Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可
进入暂存staged状态, 使用git checkout 则丢弃修改过,返回到unmodify状态, 这个git checkout即
从库中取出文件, 覆盖当前修改
④Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致,
文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified

4.git基本命令

创建本地仓库

①创建一个目录
在这里插入图片描述
②使用git init 命令将其变为一个可以通过git管理的仓库
在这里插入图片描述
③使用git add filename 添加文件到暂存区
在这里插入图片描述
④使用git status 查看仓库状态
在这里插入图片描述
⑤使用 git commit -m “版本描述信息” 提交版本到仓库
在这里插入图片描述
⑥使用git log查看提交的历史记录
在这里插入图片描述
⑦使用git reflog 查看对仓库的操作日志
在这里插入图片描述
⑧使用git diff HEAD 比较当前内容与最后一次提交的版本的差异,如下在main.c中添加了一行内容,显示添加的一行前面有‘+’号标识。如果内容相同则该命令不显示输出结果。HEAD也可以省略默认就是与最近一次比较
在这里插入图片描述
⑨使用git checkout filename 放弃对工作区代码的修改
在这里插入图片描述
⑩使用git reset HEAD filename 从暂存区撤销
在这里插入图片描述
⑩①使用git rm filename 删除一个文件,此时提交到暂存区,需要commit后才在版本库中删除
在这里插入图片描述
⑩②使用git reset --hard HEAD^ 回退版本
在这里插入图片描述
5.git分支的操作命令

在进行多个并行作业时,通常会用到分支

①查看分支: git branch
在这里插入图片描述
②创建分支: git branch 分支名
在这里插入图片描述
③切换分支: git checkout 分支名
在这里插入图片描述
④创建并切换到该分支: git checkout -b 分支名
在这里插入图片描述
⑤删除分支,不能删除当前所处分支,切换到其它分支再删除: git branch -d 分支名
在这里插入图片描述
⑥合并某个分支到当前分支: git merge 分支名 ,合并时可能产生冲突,需要解决冲突。有时需要禁止快速合并,可执行:git merge --no-ff -m ‘描述’ 分支名
在这里插入图片描述
⑦历史记录一行显示 : git log --pretty=oneline
在这里插入图片描述
⑧以图表形式显示分支:git log --graph
在这里插入图片描述
⑨保护现场 git stash,当前工作区有代码修改了,是不能切换到其他分支,可以先保存现场,再切换
在这里插入图片描述
⑩列出所有保存的现场信息 git stash list在这里插入图片描述
⑩①取出某次的现场信息,继续工作 :git stash pop “stash@{1}” ,默认是最近一次,如果有多个现场,也可以加上编号"stash@{1}"指定获取某一个。不同分支的现场,应该回到对应分支再获取,否则会自动合并现场到当前分支的工作区
在这里插入图片描述
6.远程仓库操作

①1. 生成通信密钥:ssh-keygen -t rsa -C “su@126.com” ,生成的公钥在/home/stu/.ssh/下,如下图
在这里插入图片描述
②测试与github或者gitee(码云)有没有连通:测试github 的命令 :ssh -T git@github.com
在这里插入图片描述
测试gitee 也就是码云的命令 :在这里插入图片描述
③克隆项目:git clone 项目地址
④提交分支到远程仓库:git push origin 分支名
⑤提交分支到远程仓库,并跟踪分支 :git push -u origin 分支名
⑥拉取远程服务器上的分支更新到本地 :git pull origin 分支名

  开发工具 最新文章
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-03-22 20:48:22  更:2022-03-22 20:49:34 
 
开发: 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/26 4:40:09-

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