• git笔记


    git笔记

    1. 常见知识点:

    在这里插入图片描述

    2. 名词介绍:
    • workspace:工作区
    • staging area: 暂存区
    • local repository:本地仓库
    • remote repository: 远程仓库
    3. 文件状态:

    git status 查看状态

    • 在工作区创建一个文件,未(add)加入暂存区。未追踪 Untracked files
    • 加入暂存区,未提交。为 Changes to be committed: 即改变它去提交
    • 从暂存区提交后,为nothing to commit 无需提交
    • 文件如果已经暂存/提交,如果修改,都需要重新add后,并commit。状态为:Changes not staged for commit:

    本次操作,还没有暂存,等待去提交.

    4. 常见命令:
    • git init :把本地目录初始化,变成可以的本地仓库。
    • git add: 提交本地目录的暂存区
    • git commit -m '提交说明':提交暂存区的内容到本地仓库
    • git-log:查看分支操作的状态和commit提交的id号
    • git -log:查看详细日志
    5. 分支操作:
    • git branch: 查看当前分支
    • git branch 分支名:创建新的分支
    • git branch -d 分支名: 删除指定分支
    • git branch -D 分支名: 强制删除指定分支
    • git checkout 分支名:切换到指定分支
    • git checkout -b 分支名:切换到指定分支,-b表示,如果分支不存在,则创建
    • git merge 分支名1:当前分支上和分支1进行合并。
    • git reset 分支版本号: 每次commit都会产生一个id号,可以通过git-log查看。此命令可以回到前面的操作状态中去。堪称时光倒流

    在开发中,一般有如下分支使用原则与流程:

    • master (生产) 分支 线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;

    • develop(开发)分支 是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线 要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。

    • feature/xxxx分支 从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完 成后合并到develop分支。

    • hotfix/xxxx分支, 从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、 develop分支。

    还有一些其他分支,在此不再详述,例如test分支(用于代码测试)、pre分支(预上线分支)等 等。

    6. 远程操作:
    • git remote :查看远程仓库名称
    • git remote add 远程仓库名称 远程仓库url :增加远程仓库,并在本地设置远程仓库名称
    • git remote rm 远程仓库名称:删除远程仓库名称
    • git clone 远程仓库地址 文件目录:将远程仓库克隆到本地指定的目录。如果不指定,就是当前窗口目录所在目录。
    • git push 远程仓库名称 master:master: 将本地分支内容上传到远程分支的master。 使用-f可以强制覆盖
    • git fetch 远程仓库名称 分支名:将远程仓库的某个分支,拉取到本地仓库
    • git fetch 远程仓库名称 分支名:将远程仓库的某个分支,拉取到本地仓库。并且将本地分支和远程分支进行合并 ,等同于fetch+merge

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8xMdmro4-1663397263623)(git笔记.assets/image-20220917141833367.png)]

    小技巧:

    1. 查看本地分支和远程分支的关系

      • git branch -vv
    2. 查看远程仓库的详细地址

      • git remote -vv
    3. 进行push的省略操作

      ## 1.建立联系
      git push --set-upstream 远程仓库名称 master(远程分支)  # 推送到远端的同时并且建立起和远端分支的关联关系。
      ## 2.进行push
      git push  # 相当于 git push 远程仓库名称 master:master  以后可以直接省略
      
      • 1
      • 2
      • 3
      • 4
    4. git clone

      将远程仓库克隆到本地,此时有远程分支和本地分支,两者相互绑定(–set-upstream),进行push时,将head指向的远程分支推送。只有进行fetch拉取数据时,才会要求手动合并本地和远程分支。

    5. git rebase master

      • 变基,可以直接理解为改变基底。通俗来讲,feature是从主分支master派生出的新分支,master就是feature的基,现在master增加了新的添加,feature也增加了新的添加。这个时候,feature想要使用master变化的节点链重新作为它的基地,在dev分支中,可以使用git rebase master .

    7. 常见问题:
    • 分支合并冲突:

      1. 在本地仓库中,有master和dev分支,分支中含有同一个文件,名为a.txt。在master中将a.txt第3行增加一行内容,为 count001,并且提交。在dev分支中将a.txt的第3行修改为count002,并提交。此时在master中,git merge dev。会报错,无法合并,解决办法:
      此时在master中,进入a.txt,文件,发现里面同时含有master分支修改的内容和dev修改的内容。手动将不需要的内容进行删除。然后
      git add . 
      git commit -m 'a.txt解决冲突'
      git merge dev
      这样既可以合并冲突了。
      2.如果a在本地仓库修改了文件,不一会而b在本地仓库修改了文件。注意:同一个文件,同一行。b先将修改提交到远程仓库,a进行pull,可能会冲突。解决办法:
      和1一样。进行冲突文件,修改,重新提交。
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
  • 相关阅读:
    Vmware中安装win7虚拟机以及相关简单知识
    opencv用自适应直方图均衡化函数cv2.createCLAHE()提高对比度
    React全家桶
    Python二分查找
    “Python+”集成技术高光谱遥感数据处理与机器学习深度应用
    设计模式学习笔记(十二)享元模式及其在String、Java 包装类中的应用
    C语言从文本到执行程序的过程(预编译,编译,汇编)
    Hive企业实战ORC表数据翻倍,颠覆你认知的Cluster by作用?
    Java架构师详细设计
    主从复制和读写分离
  • 原文地址:https://blog.csdn.net/weixin_48917089/article/details/126905396