GIT了解和使用

概述:版本控制管理工具

作用:代码管理;

  1. 备份多个版本,省时间省空间
  2. 可以恢复到以前的版本
  3. 解决代码冲突问题
  4. 可追溯问题查询修改人和修改时间
  5. 进行权限控制

官网:https://git-scm.com/

下载:官网下载安装

测试安装是否成功git -- version

仓库下载代码

国内:gtiee码云https://gitee.com/

国外:githubhttps://github.com/

日常操作:

  1. 下载项目:git clone "项目地址"

  2. 创建仓库:登陆git工具=》新建仓库(填写信息)提交

  3. 将本地代码提交到远程仓库
    需要本地运行终端配置用户名和邮箱

    javascript 复制代码
    git config --global user.name "你的用户名称"
    git config --global user.email "你的邮箱"

    远程仓库和本地机器连接
    设置=》SSH公钥
    生成SSH公钥https://help.gitee.com/base/account/SSH公钥设置
    终端运行:ssh-keygen -t ed25519 -C "你的邮箱"
    回车 y 中间通过三次回车 确定
    运行:cat ~/.ssh/id_rsa.pub
    把终端中运行后的代码粘贴复制到"SSH公钥"中配置

  4. 上传代码:
    提交所有代码到中转站git add .(注意add后加空格点)
    提交所有代码到本地仓库git commit -m '提交到注释'
    提交本地仓库到gitee/github远程仓库git push

面试题:svn与git的区别?

svn集中式管理,git是分布式管理,有本地仓库(暂缓区);git速度快

开发中git命令

  1. 初始化仓库 ===>git init

  2. 查看配置 ===>git config -l

    进公司做项目,必配user.email 和 user.name

    javascript 复制代码
    git config --global user.name "你的用户名称"
    git config --global user.email "你的邮箱"
  3. 查看状态 =>git status
    红色的=》没有被git管理

    绿色的===》存储在版本库暂缓区

  4. 添加到暂缓区 ===> git add .

    .代表所有文件

    指定某一个文件 git add index.js

  5. 添加到分支中 ===> git commit -m '注释内容'

  6. 查看修改文件 ===> git diff

    查看某一个文件:git diff index.js

    查看所有文件 :git diff

  7. 查看修改历史 ===> git log

  8. 查看修改历史【简单形式】 ===> git reflog

  9. 回到之前的版本

    回到上一个版本:git reset --hard HEAD^

    回到指定版本 :git reset --hard 版本号

解决团队开发中代码冲突问题

修改不是同一个文件时先把远程仓库代码拉下来,在提交

javascript 复制代码
git pull
git push

修改同一个文件时:git add .;git commit -m '修改内容描述';git push;提交不上去报错,先把拉取代码git pull,然后手动修改代码冲突报错的乱码删除掉,然后判断或和同事商量代码是合并还是修改,再次提交git add .;git commit -m '修改内容描述';git push

分支

分支独立,分支之间互不影响

默认分支=》master·

查看本地分支=》git branch

新建本地分支=〉git branch 新分支名称(新分支会继承旧分支的内容)

切换分支=》git checkout -b 分支名称

查看远程仓库分支=》git branch -r

本地分支提交远程仓库分支=〉git push --set-upstream origin 分支名称

删除本地分支=》git branch -d 分支名称(不能删除你当前所在的分支)

删除远程仓库分支=〉git push origin --delete 分支名称

合并分支=》当前在master分支时,git merge 分支名称,master+=分支,合并分支会解决冲突手动修改代码冲突报错的乱码删除掉,然后 查看状态git status没有问题,git add .;git commit -m '合并分支描述';git push;

gitflow工作流(中,大型项目)

master =》用于保存上线版本代码,创建了dev分支

develop =〉用于保存相对稳定版本的代码,所有的feature都是dev分支创建的

在develop合并代码git merge origin/feature/longin;git merge origin/feature/list;git add .;git commit -m '合并分支描述';git push;

feature =》用于开发某几个功能,不同的功能可能会创建不同的分支 ***feature/login ***feature/list

release =》用于代码上线前的准备(测试,bug修复),是dev创建的 ***release/v1.0

bugfix =》用于修复不紧急bug ,在release创建

hotfix =》用于修复紧急bug,在release创建

相关推荐
__zRainy__1 小时前
VS Code 自动同步如何重写 Git 历史:一次重复合并冲突的排查与恢复
git
IT码农-爱吃辣条3 小时前
AI Codeview 安装与使用教程
git·ai
考虑考虑3 小时前
git中的tag
git·gitlab·github
REDcker4 小时前
Git浅克隆详解与实践
大数据·git
养肥胖虎14 小时前
Git提交规范笔记:feat和fix到底该怎么写
git·conventionalcommits
手握风云-14 小时前
深入 Git:它是如何记录世界的(二)
git
weixin_433417671 天前
TortoiseGit推送到远端,如何配置
windows·git
Hey_Coder2 天前
【Git 常用命令速查表(按功能分类)】
git·git基础命令·git命令速查表·git 常用命令
colman wang2 天前
Git指令(Mac)
git·macos
cyforkk2 天前
Git 合并分支提示 Already up to date 的真实原因
git