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

相关推荐
贩卖纯净水.2 小时前
白月光git
git·github
爱吃瓜的猹z6 小时前
git reset 几点疑问
git·源代码管理
悟空201612 小时前
001、Git开发流程规范
git
Li小李同学Li12 小时前
git学习【持续更新中。。。】
git·学习·elasticsearch
晨春计14 小时前
【git】
android·linux·git
念幽15 小时前
Git常用命令
git
神技圈子15 小时前
【git系列】git中的那些迷惑的术语以及概念详解
git
benben04416 小时前
Photoshop使用方法大全
git
ou.cs17 小时前
git 删除远程分支的几种写法
git
atlanteep17 小时前
Linux·权限与工具-git与gdb
linux·git