• git安装使用简介


    无人机
    一、第一步:
    win系统下git安装
    例如:Git-1.8.4-preview20130916.exe 或者 Git-2.33.1-64-bit.exe
    为git 安装包 (该执行文件执行后安装仅是git工具,只能通过黑窗口命令行git bush here进行操作,所以一般还会同时安装TortoiseGit工具,使之可以像SVN一样可以图形化操作);
    例如:TortoiseGit-2.3.0.0-64bit.msi 为一种git图形管理软件安装
    TortoiseGit-LanguagePack-*.exe 为tortoisegit 的语言包。
    以上安装包可以在网上找资源下载;
    安装git安装包后 可在git bash黑窗口命令行中输入 git –version 如有版本信息返回则安装成功,例如回车后显示:
    git version 2.3.0.0.windows.1;
    在这里插入图片描述

    Linux 下git 应该是自带的,直接就可以使用;
    第二步:
    假如远程服务器地址为 10.10.10.1。 在使用之前可以 ping 一下看能否连接,需要联系管理员开放远程服务器ip地址的访问权限。
    在这里插入图片描述

    远程git服务器使用SSH secure shell安全协议连接,并通过识别公钥来允许访问。因此要通过git工具访问服务器需要预先将git 的ssh 公钥发给 管理员,并由管理员分配用户所能访问的仓库。 而git 的 ssh 公钥则可以通过git bash 中的ssh-keygen 生成。
    进入git安装目录中执行 git-bash.exe 。
    输入命令ssh-keygen 分别输入文件名(默认为id_rsa)及查询密钥后即可生成私钥与公钥,私钥需要妥善保管,避免被窃。修改公钥名字为自己的名字后将其传给管理员。【生成公钥私钥可参考其它资源】
    在这里插入图片描述

    如果使用tortoiseGit 作为图形界面,则需要将之前生成的私钥进行转换为ppk 文件才可使用。
    通过tortoisegit 目录下 bin文件夹下的puttygen.exe 加载私钥后再生成为ppk的私钥文件,然后再运行Pagean程序 ,将ppk文件添加到列表中即可(电脑每次重启需要重新添加才能使用tortoisegit)。
    【参考】https://blog.csdn.net/weixin_42216094/article/details/118258271?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-118258271-blog-103990399.235v38pc_relevant_sort&spm=1001.2101.3001.4242.1&utm_relevant_index=1
    puttykey的使用教程

    当用户可以通过git访问服务器后,用户即可向服务器拉取git 仓库。默认的一个测试仓库为 gitTest 。 方式1:通过命令行git bash里运行git clone 地址为 git@10.10.10.1:gitTest.git . 方式2、通过tortoisegit右键相应选项下拉代码,如果可以拉取就代表与git服务器已经连接成功了。
    【补充】公钥私钥生成后,需提交给管理员更新公钥后才能拉取(才能与服务器连接,其实也是通过记事本将公钥里面的文本内容添加到gitlab的web页面的SSH公钥添加处);

    具体的git的使用教程可参阅:菜鸟教程git;
    二、本人常用流程:
    方式1、命令行拉取远程整个代码库到本地(在当前目录下右键Git bush here)
    git clone git@10.20.20.1:dj2.0/baseboard.git
    然后,再通过git checkout 分支名 切换到已存在的具体分支;
    git checkout -b newBranch
    等同于
    git branch newBranch 新创建
    git checkout newBranch 再切换到
    查看本地和远程分支【★★★拉取远程整个代码库到本地后,要点进去到下一目录再右键git bash输入命令行】
    git branch -a
    方式2、新建本地文件夹后,可直接拉取远程代码库具体某分支代码到本地
    例如:git clone -b r10_device git@git.ecovaces:Baseboard/universal_controller_platform.git
    【★★★具体分支名前不要加origin 】;
    3、 本地分支更新提交到远程分支:
    现在提交commit 到本地分支,需要用户名+用户邮箱以便于记录提交人员信息;通过commit提交后本地分支上的代码就和你桌面文件夹的代码更新一致了;然后push到远程分支命令格式:
    git commit
    git push origin heIICboard:IICBoard 本地分支名称与远程分支不相同
    git push origin IICBoard 本地分支名称与远程分支相同
    ★★★直接通过TortoiseGit右键进行commit、push、showlog等功能进行提交查看
    【参考文章】https://blog.csdn.net/nodeman/article/details/89379592
    /****************************************************************************************************/
    本地一套/远程一套 (分布式版本控制系统)
    示例:
    1、git clone:
    新建文件夹后右键TortoiseGit的git clone;
    远程代码库URL:git@10.20.20.1:dj_2.0/sensorboard.git 直接把主干代码库所有克隆到本地文件夹;
    但是不能 URL:git clone -b dev_dj30 git@10.20.20.1:mainboard.git 直接把主干代码库下某一具体分支克隆到本地文件夹;
    实际操作结果如上:
    如果想主干下某一具体分支克隆到本地只能用(git bash here 窗口命令行)执行 git clone -b dev_dj30 git@10.20.20.1:Omni_mainboard.git
    2、git merge:
    比如分支2(本地/远程该分支都已含)有新文件.c也想存到分支1,先右键将本地文件夹切换到分支1,然后再右键merge选择分支2,就合并到本地当前文件夹分支1
    合并后,本地分支已有该新文件.c,然后push到远程线上服务器,这样本地和远程该分支都有.c文件了;
    3、git pull: (限同时仅一个人修改同一个分支)
    当远程库分支1的.c文件被A在本地修改并已同步到远程库分支1上后,B在其本地也要修改.c,
    那么应该先拉取最新的分支1到B本地更新掉旧本地分支1,避免直接提交覆盖掉A修改的.c文件内容;

    4、git fetch:
    当switch/checkout分支时,选择栏没有出现想要的远程分支,可以git fetch更新下;
    5、基于某分支的历史旧版本上,重新在用户本地创建新分支并修改提交代码
    新建文件夹,然后链接目标远程分支git clone -b dev_dj30 git@10.20.20.1:mainboard.git拷贝到本地,右键show log 查看历史旧版本,选择基于的旧版本(可确认sha编号) 右键create branch at this version;
    重新命名新的本地分支名并switch切换,ok后本地当前所在文件夹里的分支就切换到历史旧版本了;
    /****************************************************************************************************/

    gitlab
    1、从gitlab网站上clone到本地库:
    在这里插入图片描述
    2、gitlab的web页面操作添加公钥:
    【参考】
    【1】https://blog.csdn.net/DGH2430284817/article/details/89916743/?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_utm_term~default-5–blog-121751451.235v38pc_relevant_sort&spm=1001.2101.3001.4242.4&utm_relevant_index=6
    【2】https://blog.csdn.net/weixin_44867717/article/details/121751451?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169475911216800225579719%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=169475911216800225579719&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-121751451-null-null.142v94insert_down1&utm_term=gitlab%E5%AF%86%E9%92%A5%E6%96%87%E4%BB%B6%E5%A6%82%E4%BD%95%E7%94%9F%E6%88%90&spm=1018.2226.3001.4187

    三、TortoiseGit 使用指南
    https://blog.csdn.net/nodeman/article/details/89379592
    1、小乌龟操作基于旧分支下重新修改:
    在这里插入图片描述
    2、git switch和git checkout的区别
    【ref】https://juejin.cn/post/7211316525512507447
    两者的基本作用都是切换到想要切换的某分支上去;

  • 相关阅读:
    DDD--战略设计和战术设计
    Java#16(包装类和集合练习)
    MYSQL 使用基础 - 这么用就对了
    视频AI分析定时任务思路解析
    golang POST data 解析
    AnaConda安装过程
    DailyPractice.2023.10.19
    MMDeploy部署实战系列【第二章】:mmdeploy安装及环境搭建
    Pair<Long,String>接收mybatis查询的结果储存的却是BigInteger
    python html(文件/url/html字符串)转pdf
  • 原文地址:https://blog.csdn.net/SUR0608/article/details/127690284