• git学习笔记


    -------------------------------------------------------概念
    git 分布式,存储了历史版本和最新版本,极致压缩

    svn只存储每个版本和上一个版本的差异
    git存的是所有版本索引

    工作区

    git add

    暂存区

    git commit

    本地仓库

    -------------------------------------------------命令行管理git
    (1)查看git版本【git --version】
    (2)清屏幕【clear】
    (3)设置签名:
    设置用户名【git config --global user.name “zhaoss”】
    设置邮箱【git config --global user.email “5456456@qq.com”】
    (4)本地仓库的【初始化】操作
    【cd d:/】
    【cd GitResp】
    【git init】
    或者进入目录,右键git bash here
    查看当前目录列表【ll -la】
    .git目录是隐藏的,可以调出来查看

    (5)
    将文件提交到暂存区:
    【git add demo.txt】

    将暂存区的文件提交到本地库
    【git commit -m “刚刚改了,优化了下,这是一个注释” “demo.txt”】

    查看工作区和暂存区的状态
    【git status】

    历史记录----------------------
    c009d9e337c82f0ff34a5be25cf7d32dcb0d51db是当前历史记录对应的唯一索引号
    a.由近到远【git log】【空格】下一页,【B】前一页,【q】退出
    b. 一行内展示【git log --pretty=oneline】
    c. 【git log --oneline】
    d. 显示head@{数字},指针回到当前历史版本,需要走多少步【git reflog】

    reset回退-------前进或者后退历史对应版本---------------------------------------------------

    –hard 参数是工作区和暂存区全部更改重置了【用的多】
    –mixed 参数是暂存区动,工作区不动【不常用】
    –soft 参数是本地库移动的时候,暂存区和工作区都不动

    回到对应的指针【git reset --hard 67c8975】,67c8975就是reflog前面的7位数字索引
    恢复暂存区数据,也用–hard 参数是

    回到当前的head暂存内容【git reset --hard head】

    比对工作区和暂存区是否一致:所有差异【git diff】单个差异【git diff demo.txt】
    比对暂存区和本地库是否一致:当前版本【git diff HEAD demo.txt】跟对应的索引去比【git diff b0d51db demo.txt】

    -----------------------新的独立功能,就开个新分支-----------------------------------------------
    branch01和branch02不影响

    branch01将master复制,然后再开发出多个版
    branch02将master复制,然后再开发出多个版

    分支的好处:同时多个分支互不影响,删除都行,提高开发效率

    查看分支【git branch -v】*表示你在哪个分支上
    创建分支【git branch branch01】
    切换到分支01【git checkout branch01】

    解决冲突问题------------------
    合并分支1【git merge branch01】
    如果遇见冲突conflict,就解决:
    人为决定留下想要的即可,然后重新:add 和 commit
    【git commit -m “解决了冲突问题”】commit的时候不带文件名,且不是合并状态

    -----------------------------github---------------------------------------------------------------------------------------
    远程库地址很长,每次复制比较麻烦 https://gitee.com/yudeze/goapp.git
    在git本地将地址保存,通过别名
    查看别名【git remote -v】
    取别名叫做origin,可以随便取【git remote add origin https://gitee.com/yudeze/goapp.git】

    推送,本地内容推送到云端【git put origin master】,弹出账户密码需要输入

    克隆,把外网的内容下拉到本地【git clone https://gitee.com/yudeze/goapp.git】
    克隆操可以完成3件事:
    1.初始化本地库
    2.将远程库的内容完整克隆到本地
    3.替我们创建远程库的别名

    更新本地库信息,【push内容到远程库】中去
    发现可以直接push进去,并没有输入账户密码,原因是git使用的时候有缓存,管理你的凭据可删除缓存
    必须加入团队,登录项目经理账户,邀请普通成员

    1.拉取操作pull操作,相当于fetch+merge,项目经理先确认远程库的内容是否更新了,然后进行拉取

    只是下载fetch到本地,工作区还是不变的【git fetch origin master】
    切换到远程分支查看内容是覅正确【git checkout origin/master】
    切换回来自己的分支
    确认操作都正确,进行合并【git merge origin/master】
    代码简单,可以一键操作直接拉取,相当于fetch+merge【git pull origin/master】

    团队冲突怎么解决?------------------------------------------------------------------------------------
    更改了同一行,推送失败,说明冲突了

    先拉取下来,然后人为修改冲突,再推送到服务器,解决冲突后,add-commit后向服务器推送

    如果不是window10凭据帮你保存了,需要用ssh免密码登录-,不然每次都要输入账户密码-------------------------

    1.进入用户的主目录中【cd ~】
    2.执行命令,生成一个.ssh的目录【ssh-keygen -t rsa -C xxxxx@qq.com】

    【git pull origin master --allow-unrelated-histories】

    【git push -u origin master -f】

    避免在一个文件中改代码,在修改文件之前,先pull操作拉取就行

  • 相关阅读:
    将labelImg生成的指定xml标签中某一类的检测框复制给其他图片的xml
    给定一个由 [’, ]’, ( ,‘)’组成的字符串,请问最少插入多少个括号就能使这个字符串的所有括号左右配对。
    061:vue+openlayer画点、线、圆、多边形( 代码示例 )
    pandas的使用
    web端登录需要验证码
    2、在Windows 10中安装和配置 PostgreSQL 15.4
    橘子学JVM之命令行监控05之jstack
    vue3 antd table表格的增删改查(二)input输入框根据关键字搜索【后台管理系统 请求后端接口 前后端交互】
    C# 实现xlsx文件导入
    WPF - Grid(网格)布局详细介绍
  • 原文地址:https://blog.csdn.net/wendi_0506/article/details/134462620