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创建

相关推荐
ShineWinsu6 小时前
对于Git:远程操作的超详细保姆级解析
linux·git·gitee·github·远程仓库·分布式版本控制系统·远程操作
梦帮科技7 小时前
从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环
javascript·git·架构·node.js·reactjs·html5·visual studio
zho_uzhou1 天前
Git入门概念
git
爱奥尼欧1 天前
【Git】远程分支删了本地还在、两个分支历史不相干?两招故障排解
开发语言·git
Java后端的Ai之路1 天前
Git冲突完整排查与实战:本地修改覆盖报错到成功推送全流程复盘
开发语言·人工智能·git·python·pop
一个心烑1 天前
配置项目git的 SSL 证书
git·网络协议·ssl
IT从业者张某某2 天前
【鸿蒙PC命令行适配】GitUI 移植的工程实践:双 Git 引擎(libgit2/gitoxide)的鸿蒙适配之路
git·华为·harmonyos
xinjia_ctrl2 天前
暑假实习总结
git·后端·spring·maven·intellij-idea
Molesidy2 天前
【Git】分别给出添加到Keil工程和IAR工程中的gitnore文件以便不跟踪编译文件的git记录
git·vscode·插件
颜颜yan_2 天前
Git Cola 鸿蒙 PC 版适配全记录:从 Qt 桌面工具到 ArkTS 原生应用
git·qt·harmonyos