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仓库

三种状态:

已修改 modified 工作区的文件修改了,还没放到暂存区就是已修改状态

已暂存 staged 文件已修改并放入暂存区,就属于已暂存状态

已提交 committed 如果Git仓库中保存着特定版本的文件,就属于已提交状态

GIT的工作流程:

1.在工作区中修改文件

2.将你想要下次提交的更改进行暂存

3.提交更新,找到暂存区的文件,将快照永久性的存储到GIT仓库

配置GIT:

# 配置用户信息:

git config --global user.name "xxx" 
git config --global user.email "xxx@qq.com" 

# 注意:--global选项,只运行一次,即可永久生效 
# 全局配置文件记录在以下文件: c://Users/用户名文件夹/.gitconfig 
# 检查配置信息: 
## 查看所有的全局配置项 git config --list --global 
## 查看指定的全局配置项 git config user.name git config user.email 

# 要想打开git config命令的帮助手册 
git help config 

# 如果不想查看完整的手册使用-h选项 
git config -h

获取仓库的两种方式:

1. 将尚未进行版本控制的本地目录转换为Git仓库

????????在项目目录中,打开git bash 执行git init命令将当前目录转为Git仓库

2.从其他服务器克隆一个已存在的Git仓库 git clone xxx.git

????????工作区中文件的4种状态,分为2大类:

  1. ????????未被Git管理:未跟踪,不被Git所管理的文件
  2. ????????已被Git管理:未修改、已修改、已暂存

git操作的终极结果,让工作区的文件都处于未修改的状态。

# 检查文件的状态 
git status 

# 以精简方式检查文件的状态-s short 
git status -s 
# 等价 
git status --short 

# 跟踪新文件 
# git add 开始跟踪一个文件 
git add index.html 
# git commit提交更新 -m字符串描述 
git commit -m "新建了index.html文件" 
# 修改文件后,再执行一遍 git add index.html 
git commit -m "xxxxx" 
# 撤销对文件的修改, 危险性高,少用 
git checkout -- index.html 
# 向暂存区中一次增加多个文件 
git add . 
# 取消暂存的文件 
# git reset HEAD 要移除的文件名 
# 移除所有的用点号 git reset HEAD . 
# 移除文件
## 从Git仓库和工作区中同时移除对应的文件 
git rm -f index.js 
## 只从Git仓库中移除对应的文件 
git rm --cached index.css

跳过使用暂存区

标准流程:工作区-> 暂存区 -> Git仓库

简化流程:工作区->Git仓库

git commit -a -m "xxx"

忽略文件

创建一个名为.gitignore的配置文件,列出要忽略的文件的匹配模式

查看提交历史

# 按照时间先后顺序列出所有提交历史,最近的提交排在上边 
# q退出 
git log 
# 只展示最新的n条记录, 
git log -2 
# 在一行展示最近两条提交历史的信息 
git log -2 --pretty=oneline 

# 在一行上展示最近两条提交历史的信息,自定义输出格式 
# %h 提交的简写哈希值 %an作者名字 %ar作者修订日期 %s提交说明 
git log -2 --pretty=format:"%h | %an | %ar | %s"

回退到指定版本

# 在一行上显示所有的提交历史 git log --pretty=oneline # 使用git reset --hard命令,根据指定的提交ID回退到指定版本 git reset --hard <CommitID> # 在旧版本使用git reflog --pretty=oneline命令,查看命令操作的历史 git reflog --pretty=oneline # 再次根据最新的提交ID,调整到最新的版本 git reset --hard <CommitID>

小结:

初始化Git参考的命令: git init

查看文件状态的命令: git status 或者 git status -s

一次性将文件加入暂存区的命令 git add .

将暂存区的文件提交到Git仓库的命令 git commit -m "提交消息"

开源项目托管平台:主要有以下3个:

Github

Gitlab

Gitee

远程仓库的两种访问方式:

HTTPS : 零配置,需要重复输入账号密码

SSH:需要额外配置,但是配置后,每次访问,不需要重复输入账号密码

基于HTTPS(没有弄好,后续再看,主要用SSH方式):

# 如果本地没有创建仓库 echo "# blog" >> README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin https://github.com/JianxiaoZhou/blog.git git push -u origin main # 如果本地已经存在了仓库 # 本地仓库和github进行连接 git remote add origin https://github.com/JianxiaoZhou/blog.git git branch -M main git push -u origin main

基于SSH方式

# 生成SSH key ssh-keygen -t rsa -C "2457856606@qq.com" # 连续敲击三次回车,即可在c:\user\用户文件夹\.ssh目录中生成id_rsa和id_rsa.pub两个文件 # 在githup网站配置SSHkey # 检测是否配置成功 ssh -T git@github.com # git add . git commit -m "描述" git remote add origin git@github.com:JianxiaoZhou/blog.git git branch -M main # 首次需要push -u , 后续直接git push 即可 git push -u origin main

远程仓库克隆到本地

git clone git@github.xxx/blog.git

Git分支:

多人协助中防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发。

master主分支:在初始化本地Git仓库的时候,Git默认已经帮我们创建了一个master分支,通常叫做主分支,用来保存和记录整个项目已完成的功能代码。

功能分支:专门用来开发新功能的分支,从master主分支分叉出来的,开发且测试完毕后,最终合并到master主分支上。

查看分支列表:

git branch

*号表示当前所在分支。

创建新分支:

git branch 分支名称

注意:只会创建分支,不会切换分支

切换新分支:

git checkout 分支名称

分支的快速创建和切换(常用)

# -b表示创建一个新分支

# checkout表示切换到刚才新建的分支上

git checkout -b 分支名称

合并分支:

#1.切换到master分支

git checkout master

#2.在master分支上运行git merge命令将login分支的代码合并到master分支

git merge login

删除分支

git branch -d 分支名称

git branch -D 分支名称 强制删除

遇到冲突时的分支合并

打开包含冲突的文件,手动解决冲突之后,在执行如下的命令

git add .

git commit -m "解决了分支合并冲突的问题"

将分支推送到远程仓库

#-u表示本地分支和远程分支进行管理,在第一次推送的时候需要带-u参数

git push -u 远程仓库的别名 本地分支名称:远程分支名称

git push -u origin payment:pay

如果希望远程分支名称和本地分支名称一致

git push -u origin payment

注意:第一次推送分支需要-u参数,此后可以直接使用git push

查看远程仓库中所有的分支列表

git remote show 远程仓库名称

跟踪分支

跟踪分支:从远程仓库中,把远程分支下载到本地仓库中

git checkout 远程分支的名称

git checkout pay

# 从远程仓库中,把对应的远程分支下载到本地仓库,并把下载的本地分支进行重命名

git checkout -b 本地分支名称 远程仓库名称/远程分支名称

git checkout -b payment origin

拉取远程分支的最新代码

#从远程仓库,拉取当前分支最新的代码

git pull

删除远程分支

git push 远程仓库名称 --delete 远程分支名称

git push origin --delete register

  开发工具 最新文章
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:37  更:2022-09-24 21:18:45 
 
开发: 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 20:49:37-

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