GIT相关

Git 基础-大白话

概述

Git相关的三个术语:

远程仓库:push操作后数据存放的不在本地存储的空间

本地仓库:commit操作后,数据存放的空间

暂存区:add操作后,数据存放的地方

开发前

安装git、配置git(你git的身份、密钥)、测试git是否成功连接到远程

安装:官网

配置git:(你push代码时,仓库那端能看到是谁提交的)

  • 配置config
    git config --global user.name "你的名字"
    git config --global user.email "你的公司邮箱"
  • 配置密钥:略

测试链接

ssh -T git@远程仓库域名

或者在idea中也可操作

工作流程

进入空工作目录下

1、克隆项目(第一次)

git clone 云仓库地址

(下载下来的项目默认放在当前工作的目录下,项目名就是远程仓库项目名)

2、切换分支/创建分支

  • git checkout 目标分支的名

    (若切换失败,需同步本地缓存分支的信息和远程的一致:git fetch origin )

  • git branch

    查看当前所处的分支,输出的分支中带 * 号的就是当前分支

  • git checkout -b feature/你的名字-功能名

    (创建分支,feature/是分支前缀)

  • git push -u origin feature/你的名字-功能名

    (把分支推送到远程仓库)

3、add(把指定文件添加到暂存区-还在本地)

4、commit(把暂存区的文件提交到本地仓库

5、push(把本地仓库的代码推送到远程云仓库

注意事项

  • 1、每天工作前先pull远程仓库的代码到本地,再开始做工作
  • 2、idea中commit操作界面会要求填写修改信息,严格要求提交前缀规范如下
    • feat: 新增功能。例如:feat:新增用户添加接口/功能
    • fix: 修复 Bug
    • docs: 修改文档
    • refactor: 重构
    • style: 格式调整
    • chore: 配置 / 依赖

代码冲突解决

1、同文件冲突(你的和云仓库别人push的同一个文件的同一行)

解决办法:

-- 先和同事沟通

-- 手动合并双方代码

-- 删除git特有的冲突符号:<<<<< ====== >>>>>

-- 修改好后重新add->commit->push->远程仓库(idea中其实修改好后直接就可以push了(按idea提示操作)

分支合并

一般有团队组长/经理来负责,分支合并好后,如何如何获取最新代码

方式一:切换到主分支,然后进行普通:git pull

方式二:不用切换主分支,直接使用:git pull origin 主分支名

查看当前项目下的git绑定的远程仓库地址

git remote -v

若是没有绑定,那么就不可以push,一般在git clone后,自动绑定远程仓库的项目地址。不同项目根目录下执行git remote -v ,获取到的远程仓库的项目地址是不一样的。

自建项目如何推送到远程仓库?

步骤

1、先在远程仓库创建一个空的仓库模版(这个空仓库名就是项目名-别人clone到本地的就是这个名字作为项目名)

2、然后进入本地项目根目录下

  • 执行:git init 初始化本地项目为git能管理的仓库
  • 执行:git add . 当前根目录下所有文件添加到暂存区
  • 执行:git commit -m "feat: 初始化SpringBoot项目"( 提交到本地仓库)
  • 执行:git remote add origin 你的仓库地址(本地项目下关联远程仓库,一般origin是固定的,每个项目要绑定的地址不一样,一一对应云仓库)
  • 执行:git push -u origin master(第一次推送到云仓库,创建master分支)
  • 完毕!

项目移除Git管理

直接删除项目根目录下的.git这个隐藏的文件夹,其他不用动即可。

备注:其实以上的那些操作在idea中有可视化界面操作(不必硬搞终端的方式)

相关推荐
i建模12 分钟前
git克隆加速方法大全
git
无限进步_38 分钟前
【C++】私有虚函数与多态:访问权限不影响动态绑定
开发语言·c++·ide·windows·git·算法·visual studio
蜡台43 分钟前
Git stash、reset、 cherry-pick 、revert 、reflog 常用命令使用说明
大数据·git·搜索引擎
君穆南11 小时前
基于 NFS 与 Rsync 实现跨服务器 Seafile 数据平滑迁移实战
linux·运维·git
Jurio.12 小时前
本机开发 + 多机执行的极简远端运行工具
linux·git·python·github·远程工作
阿巴~阿巴~13 小时前
Git版本控制完全指南:从入门到实战(简单版)
linux·服务器·git
遇满则缺13 小时前
新手第一次使用gitee全流程(附上常见错误以及解决方法)
git·gitee
SKILL·NULL15 小时前
如何为GIT设置全局勾子,为每次提交追加信息
git
不做超级小白20 小时前
开源项目二开为何推荐使用 `git clone --depth 1`?
git·开源
星晨雪海1 天前
Idea中使用Git详细教程
git