当前位置: 首页 > news >正文

git的介绍和安装、常用命令、忽略文件、分支

git介绍和安装

首页功能写完了 ⇢ \dashrightarrow 正常应该提交到版本仓库 ⇢ \dashrightarrow 大家都能看到这个 ⇢ \dashrightarrow 运维应该把现在这个项目部署到测试环境中 ⇢ \dashrightarrow 测试开始测试 ⇢ \dashrightarrow 客户可以看到目前做的情况

需要有版本仓库,管理我们的代码
svn:老,公司基本不用
git:比较流行,做代码管理

git 能干什么?

完成 协同开发(多人一起开发) 项目,帮助程序员整合代码

  1. 帮助开发者合并开发的代码
  2. 如果出现冲突代码的合并,会提示后提交合并代码的开发者,让其解决冲突
  3. 做版本管理 ⇢ \dashrightarrow 可以把代码退回到某个版本

安装git

  1. 官网下载:https://git-scm.com/download/win
  2. 安装:一路下一步,都选默认
  3. 验证安装:
    • 在cmd中输入:git -v
    • 在任意路径点右键:看到
      • git gui here:在此处打开一个git 图形化界面
      • git bash here:在此处打开一个命令窗口

git,github,gitlab,gitee介绍

https://www.cnblogs.com/liuqingzheng/p/15328319.html

  1. git : 软件,做版本管理和代码合并,它有些命令
  2. github:网站,远程代码仓库,全球最大的开源代码托管网站,使用git的命令来上传下载代码
  3. gitee:网站,远程代码仓库,国内最大的开源代码托管网站,使用git的命令来上传下载代码
  4. gitlab:公司内部搭建的代码托管平台,远程代码仓库,网站,使用git的命令来上传下载代码

git工作流程

git 就是对文件进行管理 ⇢ \dashrightarrow 代码也是文件

git工作流程

git常用命令

  1. 初始化仓库
    • git init:初始化当前文件夹作为仓库
    • git init lqz:初始化当前文件夹下lqz作为仓库

  2. 查看当前仓库状态:git status
    • 红色:仓库中新增了,或修改了某些文件,还没有提交到暂存区
    • 绿色:在暂存区有变化,还没有提交到版本库

  3. 提交:git add 文件名
    • git add . 把当前所有变更都提交到暂存区
    • 把工作区变更,提交到暂存区了
    • 由红变绿了

  4. 设置用户
    在本机就设置一次全局即可 ⇢ \dashrightarrow 后期使用远程仓库,可以区分是谁提交了代码
    • 局部设置(只针对于当前仓库)
      • git config user.name '用户名'
      • git config user.email '邮箱'
    • 全局设置(所有仓库)
      • git config --global user.name '用户名'
      • git config --global user.email '邮箱'

  5. 提交版本库:git commit -m '注释'
    把暂存区所有内容,提交到版本库,被版本管理起来,以后可以回退,查看

  6. 查看版本记录
    • git log:显示当前分支所有提交过的版本信息
    • git reflog:命令可以查看所有分支的所有操作记录信息

  7. 了解
    • git checkout .:把工作区变更删除
    • git reset HEAD:把暂存区,拉回到工作区
    • git reset --soft 版本号:版本号是上一个版本,把版本库内容拉回到暂存区
    • git reset --mix b23875:版本号是上一个版本,把版本库内容拉回到暂存区

  8. 切换版本
    • git reset --hard 版本号

  9. 只要被版本管理了(一定能要提交到版本库),以后无论如何操作,都能再退回到某个位置

git忽略文件

如果一个文件夹被git管理了,所有文件都会被管理,所有文件发生变化,都会变红

在一个文件夹中,可能有些文件,或文件不想被git管理,这时候需要设置过滤文件

使用方法

  1. 在仓库目录下(其它目录下不要有),新建一个文件:.gitignore.txt
  2. 在里面写忽略文件或文件夹
    • 过滤文件内容:
      • 文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
      • /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤
    • eg:
      • a.txt:项目中所有a.txt文件和文件夹都会被过滤
      • /a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
      • /b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤
      • *x*:名字中有一个x的都会被过滤(*代表0~n个任意字符)
    • 空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件)

忽略文件,在一开始就要忽略,如果已经被版本管理了,再忽略就没用了

如果之前没管,已经提交了
删除 ⇢ \dashrightarrow 提交到版本库 ⇢ \dashrightarrow 再在忽略文件中加入

咱们项目的忽略文件

.idea
logs/*.log
scripts
__pycache__
*.pyc

记住:迁移记录文件是否提交 ⇢ \dashrightarrow 建议不提交

**/migrations/*.py  # 忽略迁移记录
!**/migrations/__init__.py #不不忽略 __init__.py

git分支

一般项目都会有一个主分支master,然后有其他的小分支进行操作,最后进行分支合并到主分支上

命令操作分支

  1. 创建分支:git branch 分支名
  2. 查看分支:git branch
  3. 分支合并(可能经常用):git merge 分支名
    • 需要在master分支上,合并分支
  4. 删除分支:git branch -d 分支名
    • 不能在当前分支上,删除当前分支
  5. 分支切换:git checkout 分支名

http://www.lryc.cn/news/196822.html

相关文章:

  • DNS(二)
  • win 10怎么录屏?教你轻松捕捉屏幕活动
  • IP 协议的相关特性(部分)
  • Java设计模式之代表模式
  • MySQL 查询 唯一约束 对应的字段,列名称合并
  • JDBC-day05(DAO及相关实现类)
  • 华为汪涛:5.5G时代UBB目标网,跃升数字生产力
  • docker部署多个node-red操作过程
  • 王兴投资5G小基站
  • 【SA8295P 源码分析 (一)】54 - /ifs/bin/startupmgr 程序工作流程分析 及 script.c 介绍
  • git 使用
  • MFC扩展库BCGControlBar Pro v33.6新版亮点 - 图形管理器改造升级
  • 云上攻防-云原生篇KubernetesK8s安全APIKubelet未授权访问容器执行
  • Django 访问静态文件的APP staticfiles
  • Airbnb 迁移 SwiftUI 实践
  • 爱胜品YPS-1133DN系列打印机与奔图P3301DN打印机耗材更换的简单对比说明
  • “高级小程序开发指南“
  • 分类算法-逻辑回归与二分类
  • 金融液冷数据中心,噱头还是趋势?
  • LeetCode 高频题目分类列表
  • 为什么模方有时候置平之后再打开,置平的地方纹理就缺失了,显示为下图中反光的灰色?
  • k8s基础 随笔
  • c# 关于某管理业务系统对数据统计问题.
  • nginx 配置相关详解
  • 解决spring项目中无法加载resources下文件
  • 【广州华锐互动】人体血管器官3D动态展示为医学生提供哪些便利?
  • 【QT开发笔记-基础篇】| 第四章 事件QEvent | 4.7 拖放事件
  • 【Linux】介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用
  • GUN C/C++ undefined reference to symbol ‘dlclose@@GLIBC_2.2.5‘
  • RabbitMQ概述,死信队列