• 【DevOps】Git 核心操作命令——掌握了就算入门了Git


    1、克隆指定分支代码

    git clone -b develop https://gitee.com/aiyuangong/tokenworld-java-api.git
    
    • 1

    说明: -b 指定克隆的分支,如果没有此参数,就克隆默认的分支,一般为master分支。

    2、切换开发分支

    git checkout  要切换至的分支名
    
    • 1

    3、更新拉取分支

    #将数据拉取到本地仓库,并不自动合并
    git fetch
    
    # 将数据从远程仓库更新拉取到本地仓库,并将自动合并至当前分支,相当于是git fetch + git merge, 可能会产生冲突,需手动解决
    git pull
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4、查看分支

    #查看本地所有分支
    git branch
    
    #查看远程所有分支
    git branch -r
    
    #查看本地和远程的所有分支
    git branch -a
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    5、新建分支

    创建本地分支

    #从当前分支copy分支develop
    git checkout -b develop
    
    或者
    
    git branch develop
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    将本地新的分支推送至远程

    git push origin develop
    
    • 1

    说明:此时本地分支与远程分支develop并未关联,执行git pull后会发现出现以下提示:

    $ git pull
    There is no tracking information for the current branch.
    Please specify which branch you want to merge with.
    See git-pull(1) for details.
    
        git pull  
    
    If you wish to set tracking information for this branch you can do so with:
    
        git branch --set-upstream-to=origin/ develop
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    可以按照操作提示,关联本地分支与推送到远程的分支

    git branch --set-upstream-to=orgin/develop
    
    • 1

    6、删除分支

    删除本地分支

    git branch -d 
    
    • 1

    如需同时删除远程分支,则需要推送到远程分支

    git push origin --delete 
    
    • 1

    7、提交代码

    #查看代码的修改状态 
    git status
    
    #暂存需要提交的文件
    git add 
    
    #提交已暂存的文件
    git commit
    
    #推送到远程
    git push
    或
    git push origin <本地分支名>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    8、合并代码

    #先切换到要进行合并操作的分支
    git checkout 
    
    #合并操作
    git merge --no-ff 
    
    #合并完成,如无冲突则可以直接推送至远程
    git push
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    如果在合并之前就已经知道 已经落后于,可以使用git rebase先重新同步原分支。

    比如我们从develop分支,拉取了一个featue-200分支,当我们在feature-200分支开发完成想将其合并回develop分支时,发现develop分支已经被别人提交了其他新的代码,这时我们可以这样做:

    #切换到develop分支
    git checkout develop
    
    #同步develop分支最新代码
    git pull
    
    #切换回feature-200分支
    git checkout feature-200
    
    #重新同步develop分支
    git rebase develop
    
    #强制推送
    git push -f
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    9、贮藏代码

    当本地存在未commit的代码时,又需要切换到另一个分支去开发时,可以选择贮藏代码

    #在存在未commit的代码分支上
    git stash
    
    #要重新获取贮藏的代码
    git stash pop
    
    • 1
    • 2
    • 3
    • 4
    • 5

    10、查看/更换用户名与邮箱

    注意:win10 系统里有凭证管理器,会记录相应git的账户和密码,如修改这个,需要删除凭证再来添加修改。

    10.1 查看当前的

    git config user.name
    git config user.email
    
    • 1
    • 2

    10.2 查看全局的

    git config -- global user.name
    git config -- global user.email
    
    • 1
    • 2

    10.3 更换局部的

    git config  user.name 
    git config  user.email 
    
    • 1
    • 2

    10.4 更换全局的

    git config --global user.name 
    git config --global user.email 
    
    • 1
    • 2

    10.5 使用已有的凭证

    git config credential.helper store
    
    • 1

    说明:在jenkins中shell脚本用git tag新建标签后推送至远程时有用

    11 查看远程仓库地址

    git remote -v
    
    • 1

    12 创建Git仓库

    mkdir <项目工程文件夹>
    cd  <项目工程文件夹>
    git init
    touch README.md
    git add README.md
    git commit -m "first commit"
    #要推送的远程服务器地址
    git remote add origin https://xxx.com/xxx/xxx.git
    git push -u origin master
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    13 多次Merge Request合并

    当需要进行合并的分支存在多个提交节点时,可以通过git rebase命令来合并多个提交节点。

    假如我们从develop分支拉取了一个feature-100分支,在feature-100分支中,我们提交了2个commit,现在我们需要将feature-100分支合并回develop分支中,此时为便于审核查阅提交记录,我们可以将那2个commit合并。
    在这里插入图片描述

    #n代表要合并的提交节点数量,这里为2
    git rebase -i HEAD~n  
    
    • 1
    • 2

    ![(https://img-blog.csdnimg.cn/923e87782731472cad8eb30f3c46d9e5.png)

    然后,在上图打开的窗口里,只保留最前面的一条提交历史记录。操作方法就是交原来记录里的pick单词修改成s。
    在这里插入图片描述

    紧接着保存退出,进入了注释记录页面,这里可以修改成只保留一条记录。
    在这里插入图片描述
    用#注释掉不要的注释记录,然后保存退出
    在这里插入图片描述

    最后,多次请求合并会导致本地分支与远程分支不一致,此时需要强制推送

    git push -f
    
    • 1

    可以看到,merge request中的提交记录只有1条了
    在这里插入图片描述

  • 相关阅读:
    《软件性能测试分析与调优实践之路》第二版-手稿节选-Mysql数据库性能定位与分析
    3分钟开通GPT-4
    TYPE-C HUB(拓展坞)乐得瑞LDR6023A快充方案介绍
    video2blog 视频转图文AI小工具正式开源啦
    接口测试复习
    java特种兵读书笔记(4-2)——java通信之IO与内存
    【11】基础知识:React脚手架
    Linux内核编译-ubuntu22.03-Linux-6.6
    mysql5.7linux安装完整版100%成功
    java-net-php-python-ssm高校学生学业分析及预警系统查重PPT计算机毕业设计程序
  • 原文地址:https://blog.csdn.net/dongshengliao/article/details/126207855