git的使用 -- 代码托管平台阿里云

  • 准备工作:git下载:Git - Downloads
  • 环境配置
    • 命令形式:git config --global user.name
      • 例如:git config --global "xxx" 
    • 命令形式:git config --global user.email 
      • 例如:git config --global "xxxxx@xxxx"

方法一:

  1. 获取本地仓库

    1. 在电脑任意位置创建一个空目录(例如code)作为我们的本地GIt仓库

    2. 进入这个目录中,点击右键打开GIt bash窗口

    3. 执行git init 初始化,也就是工作区

    4. 如果创建成功可在文件下看到隐藏的.git目录 有这个就是工作区了

  2. 基础操作指令

    1. 创建一个文件

    2. git add (工作区 -》 暂存区)

    3. git commit (暂存区 -》 本地仓库)

    4. 查看日志: git log

    5. 版本回退

      1. 命令:git reset --hard commitID

      2. 想回退到哪个版本就输入commitID,可以使用git-log 或者 git log 命令查看

      3. 复制粘贴小技巧,左键上色复制,中间粘贴

      4. 如何查看已经删除的记录

        1. 命令:git reflog

  3. git分支常用指令

    1. 查看分支命令:git branch

      1. 创建分支命令:git branch + 分支名

    2. HEAD是什么意思呢:假设我本地有多个分支,我想修改一个文件,不可能又修改a分支又修改b分支这就乱套了,所以有个规定就是我们的工作区只能为一个分支服务,也就是我当前处于哪个分支上。有多个分支之后我们只能对一个分支进行修改,这个分支我们称为当前分支

    3. 如何切换?

      1. git checkout 分支名

      2. 我们还可以直接切换到一个不存在的分支(创建并切换)

        1. 命令:git chechout -b 分支名

    4. 合并分支
      1. 不同分支文件也不一样,怎么合并呢?

        1. 一般都是把其他分支合并到master ,记得先把分支切换到master

        2. 命令:git merge + 分支名

    5. 删除分支

      1. 不能删除当前分支,只能删除其他分支

      2. 命令形式

        1. git branch -d b1 删除分支时,需要做各种检查

        2. git branch -D b1 不做任何检查,强制删除

    6. 分支流程图

  4. 注册一个网站码云、阿里云等等

  5. 创建远程仓库

  6. 配置SSH公钥

    1. 生成公钥

      1. ssh-keygen -t rsa
      2. 一直回车就算有也会被覆盖
  7. git设置账户公钥

    1. 获取公钥指令: cat ~/.ssh/id_ras.pub
    2. 把他们都复制到公钥里面
    3. 验证是否配置成功
      1. ssh -T git@codeup.aliyun.com --- 不同的托管平台地址也不一样

      2. 点击yes

  8. 添加远程仓库

    1. 此操作是先初始化本地库,然后已创建的远程库进行对接 。大部分都是一个本地仓库对应一个远程仓库
    2. 指令: git remote add origin(一般都用这个名字) + (git@codeup.aliyun.com:xxxxxxxxxxxxx.git)
    3. 仓库路径,从远端服务器获取的URL (我们选择SSH)
  9. 查看远程仓库

    1. 命令:git remote 查看是否创建成功
  10. 推送到远程仓库

    1. 命令形式:git push [-f] [--set-upstream][远端名称[本地分支名][:远端分支名]]

    2. 远端名字:origin(我们之前取的)

    3. 本地分支名和远端分支名是一样的

    4. 如果远程分之合本地分支名称相同,则可以只写本地分支

      1. 命令:git push origin master

    5. [-f]是强制覆盖:本地的代码和远端的代码修改的是同一个东西,会有冲突不给你退,-f的意思是就以我这个为准强制覆盖

    6. --set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。 -- 第一次要加上

      1. 命令:git push --set-upstream origin master

      2. git branch -vv : 专门看本地分支和远程分支的对应关系的

        1. 之前的

        2. 关联之后的

    7. 如果当前分支已经和远端分支关联,则可以省略分支名和远端名

      1. 命令: git push 将master分支推送到已关联的远端分支。

    8. 本地分支与远程分支的关联关系

      1. 查看关联关系我们可以使用命令:git branch -vv

————————————————————分割线————————————————————

方法二:(用的比较多 )

  1. 从远程仓库克隆

    1. 创建一个新的文件夹然后输入命令:git clone + [本地路径]
      1. git clone + SSH公钥 + 名字 (不加名字会取最后那部分)
    2. 这个操作不会很频繁
    3. 现在有两个仓库,一个是从本地推到远端的(左),还有一个是从远端拉下来的(右)
  2. 从远程仓库中抓取和拉取

    1. 抓取指令:git fetch [remote name][branch name]
      1. [remote naem]:我们已经固定死了叫origin
      2. [branch name]::把远端哪一个分支的更新拉到本地来
      3. 抓取指令就是将仓库的更新都抓到本地,不会进行合并
    2. 拉取命令 : git pull [remote name][branch name]
      1. 拉取指令就是将远端仓库的修改拉到本地自动进行合并,等同于fetch+merge
      2. 如果不指定远端名称和分支名,则抓取所有并更新当前分支

  3. 解决合并冲突

    1. 远程分支也是分支,所以合并时冲突的解决方式也和解决本地分支冲突相同

    2. 解决方式:

      1. 看提示找到冲突文件进行修改,然后再push

  4. 模拟冲突场景

    1. 假设在本地仓库创建了test4.txt文件,已经上传到本远程仓库了vim test4.txt中写上了int i = 10;

    2. 此时我在克隆远端仓库中也改test4.txt文件vim test4.txt 中修改了 int i = 20;

      1. 我们发现在克隆远端的仓库中pull的时候会报错此时查看test4.txt发现有两个,正好是我们修改同一行的代码,解决方法就是留一个数据就行了然后再add commit push,因为远端有变化所以要在本地仓库也要pull此时远端仓库和本地仓库数据一样

    3. 总结一句话就是:先在本地git pull 把冲突给解决掉才能进行push。

git功能丰富,有兴趣一定要去学习学习了解了解。 

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

No more cages

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值