Git分布式版本控制工具

Git工作流程图

git命令

命令如下:

1.clone(克隆):从远程仓库中克隆代码到本地仓库

2.checkout(检出):从本地仓库中检出一个仓库分支然后进行修订

3.add(添加):在提交前先将代码提交到暂存区

4.commit(提交):提交到本地仓库。本地仓库中保存修改的各个历史版本

5.fetch(抓取): 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。

6.pull (拉取): 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge

7.push(推送):修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

配置git用户名,邮箱

设置git用户基本信息

git config --global user.name "www"

git config --global user.email "zzz"
查看git用户基本信息

git config --global user.name

git config --global user.email

初始化git仓库

git init

提交暂存

git add . (也可以是单个文件名)

查看文件状态

git status

提交文件到本地仓库

git commit -m "注释"

查看git日志,查看提交情况

git log

查看提交日志参数(log)

作用:查看提交记录

命令形式: git log【option】

options

--all 显示所有分支

--pretty=oneline 将提交信息显示为一行

--abbrev-commit 使得输出的commitid更简短

--graph 以图的形式显示

版本回退

作用版本切换

1.回退本地版本

//方法一

git reset --hard commitID 回退到当前版本
//方法二

git revert commitID 撤销当前提交的改变 只是提交历史不删除,反而新增一个反向提交

2.将远程版本索引更改指向回退版本

Wzx@LAPTOP-CRKUJBEA MINGW64 /d/GoLang/GoProgram/Test (master)

$ git remote -v

go-basic https://gitee.com/wei-zheng-xiang/go-basic.git (push)

Wzx@LAPTOP-CRKUJBEA MINGW64 /d/GoLang/GoProgram/Test (master)

$ git branch --show-current

master

Wzx@LAPTOP-CRKUJBEA MINGW64 /d/GoLang/GoProgram/Test (master)

$ git branch

* master

Wzx@LAPTOP-CRKUJBEA MINGW64 /d/GoLang/GoProgram/Test (master)

$ git push -f go-basic master

Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)

remote: Powered by GITEE.COM 1.1.23

remote: Set trace flag 774a108e

To https://gitee.com/wei-zheng-xiang/go-basic.git

  • 27d2843...da545a5 master -> master (forced update)

注意事项

  • 备份确认 :执行强制推送前,务必确认本地已经通过 git reset --hard commitID 回退到了目标版本,避免推错;
  • 风险提示git push -f 会覆盖远程 go-basic 仓库 master 分支的提交记录,如果这个仓库有其他人协作,一定要提前沟通,防止他人代码丢失;
  • 替代方案 :如果只是想撤销某个提交而非彻底回退,优先用 git revert commitID + git push go-basic master(无需 -f,更安全)。

查看已经删除的记录

这个指令可以看到已经删除的提交记录

git reflog

git添加分支

git branch 分支名

查看文件提交情况

git status

切换分支

git checkout dev01(分支名)

创建并切换到当前分支上来

git checkout -b dev02

合并分支

合并到主分支上

git merge dev01

删除分支

git branch -d b1 //删除分支时,需要做各种检查

git branch -D b1 //不做任何检查,强制删除

开发中分支使用原则与流程

master (生产) 分支

线上分支,主分支,中小规模项目作为线上运行的应用对应的分支

develop (开发)分支

是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。

feature/xxx 分支

从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支。

hotifx/xxx分支

从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、develop分支。

相关推荐
郑州光合科技余经理17 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我1234517 小时前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s1 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
玄芯散人2 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人2 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理
荔枝梅梅2 天前
新手程序员 SSH 第一课:从 Git 仓库连接失败理解 SSH 协议与密钥配置
git
玄芯散人2 天前
【筑基·057】Git代码时光机:版本控制入门到分支管理
git·版本控制·嵌入式开发
szephyr2 天前
Git 分支管理实战:feature/release/hotfix 怎么用才不乱
git·分支管理·团队协作·工作流·hotfix
一木 之林2 天前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器
烛之武2 天前
Git教程笔记
git·gitee