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)
略
相关推荐
小橘子83143 分钟前
(学习)Claude Code 源码架构深度解析
学习·程序人生·架构
陈佬昔没带相机1 小时前
GitHub clone 不动、pip 卡住、brew 转圈?一份指南搞定
git·npm
diablobaal3 小时前
云计算学习100天-第102天-Azure入门4
学习·云计算·azure
AI_零食3 小时前
Flutter 框架跨平台鸿蒙开发 - 自定义式按钮设计应用
学习·flutter·ui·华为·harmonyos·鸿蒙
小陈phd3 小时前
多模态大模型学习笔记(三十)—— 基于YOLO26 Pose实现车牌检测
笔记·学习
野指针YZZ3 小时前
XV6操作系统:trap机制学习笔记
笔记·学习
diygwcom4 小时前
学习开源数据采集与监视控制SCADA-即工业组态开源框架FUXA
学习·开源
zl_dfq4 小时前
Python学习5 之【字符串】
python·学习
CoovallyAIHub5 小时前
15K Star中文首发!$5部署一个会自我进化的私人Agent——NousResearch开源Hermes Agent
git·架构·github
-许平安-5 小时前
MCP项目笔记九(插件 bacio-quote)
c++·笔记·ai·plugin·mcp