版本控制管理操作

版本控制软件:记录文件变化,以便将来查阅特定版本修订的文件

好处:

操作方便

易于比对

易于回溯

不易丢失

协作方便 : 基于版本控制软件提供的分支功能

分布式版本控制系统,典型代表:

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值