码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Git版本管理


    Git版本管理

    • 1.概述
      • 1.1 实际场景
      • 1.2 版本控制器
      • 1.3 git流程图
      • 1.4 用户名和密码
      • 1.5 创建本地仓库
    • 2.操作
      • 2.1 基础操作指令
      • 2.2 查看提交日志
        • 2.2.1 设置指令别名
        • 2.2.2 查看提交日志
      • 2.3 版本回退
      • 2.4 指定不提交的文件
    • 3. 分支
      • 3.1 创建分支、选择分支
      • 3.2 合并分支-版本冲突
      • 3.3 开发中分支
      • 3.4 总结
    • 4.Git远程仓库
      • 4.1基础操作
    • 5.在Idea中使用Git
      • 5.1 Idea集成Git
      • 5.2 引入.gitignore
      • 5.3 代码提交
      • 5.4 代码合并冲突
    • 6.常见问题
      • 6.1 window下无法查看.bashrc和 .gitignore文件

    1.概述

    1.1 实际场景

    场景:备份、代码还原、协同开发、追溯代码与时间

    1.2 版本控制器

    SVN: 集中式
    SVN流程

    Git:分布式
    git流程

    1.3 git流程图

    在这里插入图片描述

    1.4 用户名和密码

    在这里插入图片描述

    在这里插入图片描述

    1.5 创建本地仓库

    在这里插入图片描述

    2.操作

    2.1 基础操作指令

    在这里插入图片描述
    以下是实际操作:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    无论是添加还是修改,文件会首先在暂存区,只有经过commit之后,才会进入仓库。

    2.2 查看提交日志

    2.2.1 设置指令别名

    在电脑的C:\Users\wy目录下创建.bashrc文件,并在文件中输入以下内容:

    #用于输出git提交日志
    alias git-log="git log --pretty=oneline --all --graph --abbrev-commit"
    #用于输出当前目录所有文件及基本信息
    alias ll='ls -al'
    
    • 1
    • 2
    • 3
    • 4

    2.2.2 查看提交日志

    在这里插入图片描述
    直接使用上面的别名:

      git log
    
    • 1

    在这里插入图片描述

      git-log
    
    • 1

    在这里插入图片描述

    2.3 版本回退

    在这里插入图片描述
    在这里插入图片描述

    2.4 指定不提交的文件

    通过场景.gitignore文件,选择不会提交的文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3. 分支

    在这里插入图片描述

    3.1 创建分支、选择分支

    在这里插入图片描述
    在这里插入图片描述
    合并分支:
    在这里插入图片描述
    删除分支:

    git branch -d b1
    git branch -D b1
    
    • 1
    • 2

    3.2 合并分支-版本冲突

    创建独立分支
    在这里插入图片描述
    切换分支:
    在这里插入图片描述
    在这里插入图片描述
    然后在master分支同样修改r1.txt文件,并提交。
    在这里插入图片描述
    将dev分支合并到master分支,出现版本冲突:
    在这里插入图片描述
    修改合并文件,最终再次提交:
    在这里插入图片描述

    3.3 开发中分支

    在这里插入图片描述
    在这里插入图片描述

    3.4 总结

    在这里插入图片描述

    4.Git远程仓库

    常用的托管服务:github、gitee、gitlab
    设置远程仓库的SSH访问密钥:按照git官网获取

    在这里插入图片描述这里需要在gitee的SSH密钥中配置上述获取的连接密钥,连接才能成功。
    在这里插入图片描述

    4.1基础操作

    (1)查看远程仓库

    git remote
    
    • 1

    (2)推送到远程仓库

    git push [-f][--set-upstream]
    [-f]:强制覆盖
    [--set-upstream]:推送到远端的同时并建立起和远端分支的关联
    git push origin master
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述(3)克隆

    git clone 远程仓库地址
    
    • 1

    (4)从远程仓库拉取和抓取

    git fetch:仅仅只抓取到本地,不会进行合并
    
    git pull:抓取到本地并且合并
    
    
    • 1
    • 2
    • 3
    • 4

    (5)合并冲突以及解决

    开启的第一个窗口(用户):
    在这里插入图片描述开启的第二个窗口(用户):

    在这里插入图片描述然后和上述一样,推送到远程仓库

    在这里插入图片描述
    冲突解决:

    在这里插入图片描述

    先根据冲突提升,找到file02.txt文件
    在这里插入图片描述在这里插入图片描述最后需要在另一个窗口拉取最新的修改的文件,这样这两个窗口的内容就能保持一致。

    在这里插入图片描述
    在这里插入图片描述

    5.在Idea中使用Git

    5.1 Idea集成Git

    一般如果电脑中装有git可执行文件,那么idea的setting配置中的git利用会自动获取其地址
    同时,需要将Idea与远程仓库绑定
    在这里插入图片描述绑定本地仓库:
    在这里插入图片描述提交的时候会提示定义远程仓库地址:
    在这里插入图片描述

    5.2 引入.gitignore

    # Compiled class file
    *.class
    
    # Eclipse
    .project
    .classpath
    .settings/
    
    # Intellij
    *.ipr
    *.iml
    *.iws
    .idea/
    
    # Maven
    target/
    
    # Gradle
    build
    .gradle
    
    # Log file
    *.log
    log/
    
    # out
    **/out/
    
    # Mac
    .DS_Store
    
    # others
    *.jar
    *.war
    *.zip
    *.tar
    *.tar.gz
    *.pid
    *.orig
    temp/
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    屏蔽掉那些不需要上传到远程仓库的文件

    5.3 代码提交

    在这里插入图片描述提交的过程中,可以先提交到本地仓库,然后在push到远程仓库

    5.4 代码合并冲突

    当两个开发者同时对一份代码中的类进行修改时,就会出现提交冲突。
    这个时候,一般的操作应该是,先拉取远程仓库的代码,然后看是否有冲突,如果有冲突,就解决冲突,如果没有冲突,就直接push即可。

    关键:先拉取分支中的最新代码,然后在push自己的代码到远程仓库

    在这里插入图片描述

    6.常见问题

    6.1 window下无法查看.bashrc和 .gitignore文件

    在这里插入图片描述

  • 相关阅读:
    复习Day06:24. 两两交换链表中的节点、19.删除链表的倒数第N个节点
    JavaScript对象
    P23~33第7章 一阶电路和二阶电路的时域分析 详情可以看看书
    Redis——主从同步
    Hadoop 3.x(入门)----【Hadoop概述】
    字符检测专题第二期:通用、简单、快速,见证AI字符识别的超能力!
    (二十二)mmdetection源码解读:faster_rcnn_r50_fpn.py详解roi_head
    要想实现超视距低延时图数传输,你还需要一款Mini Homer
    Python接口自动化测试:利用的是requests库,Fiddler抓包配合、以及鉴权的流程
    SpringBoot 整合 Elasticsearch (超详细)
  • 原文地址:https://blog.csdn.net/qq_42569028/article/details/137234850
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号