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)
略
相关推荐
崎岖Qiu1 小时前
【设计模式笔记17】:单例模式1-模式分析
java·笔记·单例模式·设计模式
Klaus_Wei2 小时前
git 高级命令模式典型应用--“同步云端 + 清理垃圾分支”的一键命令
git·git高级用法·git同步云端·git清理垃圾分支
Chloeis Syntax2 小时前
MySQL初阶学习日记(1)--- 数据库的基本操作
数据库·学习·mysql
lkbhua莱克瓦243 小时前
Java练习-正则表达式 1
java·笔记·正则表达式·github
妙娲种子3 小时前
配置git/创建第一个智能相册保存快照
git
what_20183 小时前
git一个账号在两台电脑登录 出现不同用户名
git
musenh3 小时前
css样式学习
css·学习·css3
困鲲鲲3 小时前
ROS2系列 (13) : 常用Git指令入门(本地Git)
git·ros2
Larry_Yanan3 小时前
QML学习笔记(五十)QML与C++交互:QML中单例C++对象
开发语言·c++·笔记·qt·学习·ui·交互
im_AMBER3 小时前
算法笔记 09
c语言·数据结构·c++·笔记·学习·算法·排序算法