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使用

Windows系统Git安装教程(详解Git安装过程)

Git视频教程

1.使用流程

(1) 使用默认路径创建本地仓库:git init

????????????????查看当前仓库状态信息:git status

(2) 将某个文件加入暂存区:git add <FILENAME> -- 红色文件就会变绿色

????????????????将当前文件全部加入暂存区: git add .

(3) 提交变更

????????????????git commit -m <message>? ? message:对这次提交的一些描述(可能会提示你输入邮箱姓名啥的)

????????????????git log:常看日志

?(4)? ? 撤回暂存区

? ? ? ? ? ? ? ? 当一个文件添加到暂存区后不想提交变更,可以使用git reset <filename>--绿色文件变红色

注意:每次更改完代码后仍需重复2、3步? (添加暂存区、提交commit)

2.文件状态

 

3.GIT命令与自定义

git init基于当前路径创建仓库(本地)
git add .所有文件添加暂存区

?git commit -m <message>
message:对这次提交的

? ? ? ? ? ? ? ? ?一些描述

提交变成至仓库
git log查看日志
git clone <repo> <directory>将repo(仓库)克隆到本地目录下

git config --list

? ? ? ? ? ? ? ?-e

? ? ? ? ? ? ? ?-e --global

--list:查看git配置信息

--e:针对但当前仓库

--global:针对系统所有仓库

git reset commit_id? --hard

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --soft

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --mixed

将暂存区文件还原(撤回)

--hard:不保存变更

--soft:保留变更且变跟内容处于staged

--mixed:保留变更且变更处于modified状态

get reflog查看对commit的所有操作
git checkout -b <name><tempplate>

新建分支

以name命名

以tempplate哪个分支或者commit为模板

git checkout -b <name> origin <tempplate>c从远程仓库切换一个分支
git checkout 分支切换分支
git branch?查看本地所有分支
git branch? [name]新建分支????????
git pull?把远程仓库同步到本地
git push将本地内容同步到远程仓库
git merag

(基于本地操作)

合并分支变更

只是将分支进行了合并,内容需要收到变更

比如:主管 1.0.0

? ? ? ? ? ?A --新建分支1.0.0.A

? ? ? ? ? ?B --新建分支1.0.0.B

主管:git merage? A? ?//合并A代码

? ? ? ? ? ?git merage? B? //合并B代码---此时会出现问题,需要手动解决冲突

?git push -set-upstream origin [xxx]

将远程仓库的xxx分支设置位本地上流分支

git fetch拉取远程仓库信息

【alias】

? ? ? ? 自定义git命令,在xx/etc/config路径下?

4.分支branch

现有一个master分支

使用git checked 基于master新建一个分支,新分支newBranch会继承master所有属性。但是对master和newBranch所有操作将不会有任何关系

?新建分支的意义?

假设A,B从远程仓库拉下一个分支。

? ? ? ? A对分支进行了修改

? ? ? ? B对分支进行了修改

? ? ? ? A push内容到远程仓库

? ? ? ? B push内容到远程仓库----报错(因为A推送完后,远程仓库的主分支相对于B来说已经发生改变)

解决办法:

? ? ? ? 1.B建立一个分支,然后体检,在merge到主分支

? ? ? ? 2.B用户直接强制git push -f (此时A提交的内容会消失)

5.对远程仓库操作

? ? ? ? ? ? ? ? ? ? ? ?

  1. ?创建远程仓库
  2. ?用户A、B使用git clone [name]克隆下来
  3. ?用户A、B使用git checkout -b 新建分支
  4. ?A将新建分支,然后将分支推送至远程仓库,出现如下提示
  5. A设置完上流分支后git push完成推送操作
  6. ?B使用get fetch拉取远程仓库信息 (此时本地没有bc-a分支)
  7. B使用git checkout bc-a? 创建一个来自远程仓库的bc-a分支。这个时候就不需要建立上流分支了
  8. ?也可以不用6,7步。使用也可
  9. ?4、5、6、7步是B将来自A推送到远程的分支fetch到了本地并切了一个bc-a的分支。如果此时A又修改了代码,如何让A的代码同步到B?

? ? ? ? ? ? ? ? 方法一:fetch + git checkout

? ? ? ? ? ? ? ? 方法二:使用git pull (等价与fetch +?merge)

6.rebase变基

?

?变基:假设master本来有1、2两个节点,此时分支继承了1、2两节点,自己添加了3、4节点

? ? ? ? ? ? ? ?此时master变成了1、2、5三节点,bc分支想要以1、2、5节点添加3、4节点。这个过程就用到了变基rebase

?使用git rebase master(此时会出现冲突--手动解决),这个时候是1-2-5-3

使用git rebase? -continue 进行4节点拼凑,这个时候就是1-2-5-3-4

7.问题演示

(1.)我进行了3次提交操作,这个时候我想撤回一次提交,怎样做?

首先查看对commit所有操作

? ? ? ? ? ? ?

使用reset复位返回上一步

? ? ? ? ? ??

查看日志,发现第三次commit动作已经取消

?

?如果此时想要恢复最新的状态呢?使用git reset 或者git pull

在使用git reset即可

  开发工具 最新文章
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-30 18:46:03  更:2022-03-30 18:47:40 
 
开发: 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:41:27-

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