• Git基本操作


    打开git命令窗口
    在这里插入图片描述
    git --v查看版本
    设置用户名和邮箱
    git config --global user.name “username”
    git config --global user.email “email_number”
    查看配置信息
    git config --global list
    在这里插入图片描述

    很多文件操作命令和Linux一样
    在这里插入图片描述
    指定名称就会多一个
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    git status 查看文件夹状态

    git add file1.txt
    git commit -m “这是第一次提交”
    (只提交暂存区中的内容,也就是被git add的才会被commit)
    git add . 将当前目录所有文件放到暂存区如果git commit 没有加文字,就会进入vim模式在顶行输入提交信息,也就是每次commit必须有提交信息

    这个提交信息不建议乱写,这样对于之后查看文件很不方便,版本管理起来也很难受
    vim的用法和Linux中一致,i–插入模式,ESC–回到普通模式,:–底行模式,wq保存

    git -log 查看仓库提交历史记录 --oneline简版

    git reset --soft /–hard /–mixed 版本号
    在这里插入图片描述

    git 中的所操作都是可以回溯的,
    git reflog ,再使用上面的git reset对应的版本号即可
    在这里插入图片描述
    直接使用rm -rf 删除文件,只是在本地删除,暂存区中没有被删除
    git ls-files 查看暂存区文件内容
    rm删除之后还要用git add .

    或者是直接使用
    git rm
    这些操作之后都要进行git commit

    在这里插入图片描述
    .gitignore忽略文件,一般是一些log和其他在该文件中包含的文件

    在这里插入图片描述
    git push 和git pull是git分布式仓库的同步操作

    在这里插入图片描述
    创建git仓库

    mkdir git-repo
    cd git-repo
    git init 
    touch README.md
    git add README.md
    git commit -m "first commit"
    git remote add origin https://gitee.com/have-a-book/git-repo.git
    git push -u origin "master"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    在这里插入图片描述
    冲突会显示成这样,要解决冲突

    <<<<<<< HEAD  
    <your-modified-code>  
    =======  
    <original-code>  
    >>>>>>> <commit-id>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    修改冲突部分,选择要保留的内容。你可以保留原始代码,删除你的修改;或者保留你的修改,删除原始代码。也可以将两者结合起来,创建一个新的解决方案。

    在Git中,merge和rebase是两种不同的合并代码的方式。

    1. Merge: 当你需要将一条分支的修改合并到另一条分支时,可以使用merge命令。例如,如果你有一个名为"feature"的分支,并且这个分支已经开发完成,你想要将这个分支的修改合并到"main"分支,那么你可以在"main"分支上执行"git merge feature"。在合并过程中,如果遇到代码冲突,需要手动解决冲突后,再执行"git commit"提交。 Merge操作会保留所有的commit历史,并且在merge后,会在当前分支上生成一个新的commit。
    2. Rebase: 当你需要将一条分支的修改重写到另一条分支上时,可以使用rebase命令。例如,如果你有一个名为"feature"的分支,并且你想要将这个分支的修改重写到"main"分支上,那么你可以在"feature"分支上执行"git rebase main"。在rebase过程中,Git会尝试将你的修改应用到"main"分支的最新提交上。 Rebase操作会重写历史记录,将所有的commit按照时间顺序线性地排列。与merge不同,rebase不会保留merge的历史记录,也不会生成新的commit。

    总之,merge和rebase都可以实现代码的合并,但是它们的工作方式和使用场景有所不同。merge保留了所有分支的历史记录和合并记录,而rebase则将这些记录线性化。因此,在选择使用merge还是rebase时,需要根据具体的项目需求和代码管理策略来决定。

    在这里插入图片描述

  • 相关阅读:
    阿里云e实例服务器3M固定带宽40G ESSD entry系统盘99元/年
    关于一个left join的易错点
    UE5 c++将自定义UserWdiget添加到对应菜单栏
    聚观早报 | 2024款小鹏P5全新发布;华为发布13.2英寸MatePad Pro
    面试面经|Java面试web面试题18道
    6.3二叉树的层序遍历(LC102,LC107-M)
    Python实现snap:对齐多张遥感影像的空间范围
    JAVA计算机毕业设计读书网络社区设计Mybatis+系统+数据库+调试部署
    使用DIV+CSS技术设计的非遗文化网页与实现制作(web前端网页制作课作业)
    敏捷组织 | 企业克服数字化浪潮冲击的路径
  • 原文地址:https://blog.csdn.net/qq_55895496/article/details/132646004