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

相关推荐
范纹杉想快点毕业3 小时前
以项目的方式学QT开发(一)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
c语言·数据结构·c++·git·qt·链表·github
qq_653644465 小时前
如何查看打开的 git bash 窗口是否是管理员权限打开
开发语言·windows·git·bash
tonngw5 小时前
【Mac 从 0 到 1 保姆级配置教程 12】- 安装配置万能的编辑器 VSCode 以及常用插件
git·vscode·后端·macos·开源·编辑器·github
橄榄熊7 小时前
Git 常用命令详解
git
o(╥﹏╥)1 天前
绑定 SSH key(macos)
开发语言·git·学习·macos
半新半旧1 天前
Git 分支指南
git
qq_464357011 天前
git中忽略文件.gitignore文件的用法
git
程序员阿鹏1 天前
Git的安装和配置(idea中配置Git)
java·开发语言·ide·git·intellij-idea·idea
belldeep2 天前
如何阅读、学习 Git 核心源代码 ?
git·学习·源代码
我不是秃头sheep2 天前
Git安装教程及常用命令
git