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)
略
相关推荐
玄斎1 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
清风一徐2 小时前
禅道从18.3升级到21.7.6版本
笔记
Jack___Xue2 小时前
LangChain实战快速入门笔记(六)--LangChain使用之Agent
笔记·langchain·unix
零度@2 小时前
SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)
数据库·笔记·sql
im_AMBER3 小时前
Leetcode 78 识别数组中的最大异常值 | 镜像对之间最小绝对距离
笔记·学习·算法·leetcode
其美杰布-富贵-李3 小时前
HDF5文件学习笔记
数据结构·笔记·学习
d111111111d5 小时前
在STM32函数指针是什么,怎么使用还有典型应用场景。
笔记·stm32·单片机·嵌入式硬件·学习·算法
静小谢5 小时前
前后台一起部署,vite配置笔记base\build
前端·javascript·笔记
ask_baidu6 小时前
Doris笔记
android·笔记
嗷嗷哦润橘_6 小时前
AI Agent学习:MetaGPT之我的工作
人工智能·学习·flask