Git学习笔记

(1)开发中的实际场景

(2)版本控制器

①集中式版本控制工具:集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或互联网 。个人修改后然后提交到中央版本库。举例:SVN和CVS

②分布式版本控制工具分布式版本控制系统没有"中央服务器",每个人的电脑上都是一个完整的版本库,这样工作的时候,无需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。举例:Git

(3)Git

git的工作流程图如下所示:

流程如下:

c 复制代码
git clone https://github.com/user/repo.git   # 克隆远程仓库
git checkout -b feature-x                   # 创建并切换到新分支
vim file.txt                                # 修改代码
git add file.txt                            # 暂存变更
git commit -m "Implement feature X"         # 提交到本地
git pull origin main                        # 拉取远程更新(避免冲突)
git push origin feature-x                   # 推送分支到远程
# 在GitHub发起Pull Request,审核后合并到main分支

(3)Git安装和常用的命令(Git Bash下操作)

java 复制代码
设置用户信息
git config --global user.name "itcast"
git config --global user.email "hello@itcast.cn"

查看配置信息
git config --global user.name
git config --global user.email

获取本地仓库
git init

# 目录下创建文件 file01.txt

# 将修改加入暂存区
git add .

# 将修改提交到本地仓库,提交记录内容为:commit 001
git commit -m 'commit 001'

# 查看日志
git log

# 修改file01的内容为:count=1
略

# 将修改加入暂存区
git add .

# # 将修改提交到本地仓库,提交记录内容为:update file01
git commit --m 'update file01'

# 查看日志
git log

# 以精简的方式显示提交记录
git-log

# 查看提交记录
git-log

# 找到倒数第2次提交的commitID
略
# 版本回退
git reset commitID --hard

分支操作:
###########################创建并切换到dev01分支,在dev01分支提交
# [master]创建分支dev01
git branch dev01
# [master]切换到dev01
git checkout dev01
# [dev01]创建文件file02.txt
略
# [dev01]将修改加入暂存区并提交到仓库,提交记录内容为:add file02 on dev
git add .
git commit -m 'add file02 on dev'
# [dev01]以精简的方式显示提交记录
git-log
###########################切换到master分支,将dev01合并到master分支
# [dev01]切换到master分支
git checkout master
# [master]合并dev01到master分支
git merge dev01
# [master]以精简的方式显示提交记录
git-log
# [master]查看文件变化(目录下也出现了file02.txt)
略
##########################删除dev01分支
# [master]删除dev01分支
git branch -d dev01
# [master]以精简的方式显示提交记录
git-log

远程操作:
##########################1-将本地仓库推送到远程仓库
# 完成4.1、4.2、4.3、4.4的操作
略
# [git_test01]添加远程仓库
git remote add origin git@gitee.com/**/**.git
# [git_test01]将master分支推送到远程仓库,并与远程仓库的master分支绑定关联关系
git push --set-upstream origin master
###########################2-将远程仓库克隆到本地
# 将远程仓库克隆到本地git_test02目录下
git clone git@gitee.com/**/**.git git_test02
# [git_test02]以精简的方式显示提交记录
git-log
###########################3-将本地修改推送到远程仓库
# [git_test01]创建文件file03.txt
略
# [git_test01]将修改加入暂存区并提交到仓库,提交记录内容为:add file03
git add .
git commit -m 'add file03'
# [git_test01]将master分支的修改推送到远程仓库
git push origin master
###########################4-将远程仓库的修改更新到本地
# [git_test02]将远程仓库修改再拉取到本地
git pull
# 以精简的方式显示提交记录
git-log
# 查看文件变化(目录下也出现了file03.txt)
略
相关推荐
志尊宝6 分钟前
Vue3 零基础每日笔记(080):Vue3 + ECharts 数据可视化——封装可复用图表组件
前端·javascript·vue.js·笔记·信息可视化·echarts
沪上企服通18 分钟前
从票据采集到凭证生成:代账 pipeline 的 OCR、查重与规则引擎设计笔记
笔记·ocr
andrsted1 小时前
练题簿在线免费刷题:Excel、CSV 批量导题与章节整理,把现成表格变成日常题库
学习·微信小程序·小程序·刷题·在线刷题
yi0111 小时前
DAY27: LeetCode 110. 平衡二叉树 | 在递归中判断是否平衡
人工智能·笔记·python·算法·leetcode·二叉树·递归
ab1237681 小时前
MQTT笔记
java·笔记·mqtt·学习
承渊政道2 小时前
Linux网络学习【TCP Socket编程实战:connect的断线重连与客户端访问Linux验证】
linux·网络·学习·ubuntu·tcp·socket编程
qq_408606862 小时前
确界的倒数性质证明
学习·算法
sunoo-2292 小时前
嵌入式Linux驱动学习笔记(第3-6天):从misc封装、platform总线到设备树、中断与单总线外设实战
linux·arm开发·驱动开发·笔记·单片机·学习
一木 之林2 小时前
Agent智能体学习总结:从一次调用到模型自主规划、工具调用与 ReAct 循环的项目实战-6/6
前端·人工智能·学习·react.js
自不量力的A同学2 小时前
MooTool Next 1.3.0 发布
笔记