Git学习

本文介绍了Git的基础操作,包括初始化本地仓库、配置指令别名,以及如何处理SSH公钥。此外,详细讲解了如何添加和操作远程仓库,如推送、拉取和解决合并冲突。还提到了在IntelliJIDEA中使用Git的步骤,以及团队协作中的常见场景和解决策略。
摘要由CSDN通过智能技术生成

一、Git基础操作

1.获取本地仓库

在一个新建的空目录中,点击右键打开Git Bash窗口,执行命令git init,创建成功可看到隐藏的.git目录

2.为常用指令配置别名

在当前目录下创建一个 .bashrc文件(指令:touch .bashrc),在 .bashrc文件中输入以下内容:

#用于输出git提交日志
alias git-log="git log --pretty=oneline --all --graph --abbrev-commit"
#用于输出当前目录所有文件及基本信息
alias ll='ls -al'

 打开git bash,执行 source .bashrc即可实现指令别名的设置。

3.基础操作指令

二、Git远程仓库

1.配置SSH公钥

  • Git Bash指令:ssh-keygen -t rsa
  • 不断回车,若公钥已存在,则自动覆盖

2.Gitee设置账户公钥

  • 获取公钥指令:cat ~/.ssh/id_rsa.pub
  • 将公钥粘贴到此处:

三、操作远程仓库

1.添加远程仓库 

指令:git remote add <远端名称> <仓库路径>
        ▢ 远端名称,默认orign,取决于远端服务器设置
        ▢ 仓库路径

2.查看远程仓库  

  • 指令:git remote

3.推送到远程仓库

 指令:git push [-f] [--set-upstream] [远端名称[本地分支名][:远端分支名]]
        ▢ 若远程分支名与本地分支名相同,可以只写本地分支
                例:git push origin master
        ▢ -f 表示强制覆盖
        ▢ --set-upstream 推送到远端的同时,并且建立起和远端分支的的关联关系
                例:git push --set-upstream origin master
        ▢ 如果当前分支已经和远端分支关联,则可以省略分支名和远端名
                例:git push  (将master分支推送到已关联的远端分支)

 

4.查看本地分支与远程分支的关联关系

  • 指令:git branch -vv

5.从远程仓库克隆

  • 指令:git clone <仓库路径> <本地目录>

        ▢ 本地目录可以省略,会自动生成一个目录
        ▢ 一般只用一次
6.从远程仓库中抓取和拉取
         远程分支和本地分支一样,可以进行merge操作,只是需要先把远端仓库里的更新都下载到本地,再进行操作。

  • 抓取指令:git fetch [remote name] [branch name]

        ▢ 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
        ▢ 若不指定远端名称和分支名,则抓取所有并更新当前分支。

  • 拉取指令:git pull [remote name] [branch name]

        ▢ 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
        ▢ 若不指定远端名称和分支名,则抓取所有并更新当前分支。
7.解决合并冲突
        情形:在一段时间,A,B同时修改了同一个文件的同一行代码,此时会发生合并冲突。

  • A的操作:本地修改 -> 远程仓库
  • B的操作:本地修改 -> 远程仓库
  • 因为B晚于A,所以B实际上需要先拉取远程仓库的提交,经过合并才能推送到远端分支。但此时便会发生合并冲突。

        合并远程分支与合并本地分支相同,指令:git merge [分支],然后会生成一个冲突的文件,手动修改冲突的内容,再次提交即可。
四、在IDEA中使用Git

1.在IDEA中配置Git

  • IDEA -> Settings  -> Git (IDEA会自动识别Git路径)

2.初始化本地仓库

 

3.提交到本地仓库

 

4.创建项目远程仓库,并推送到 

 

5.克隆远程仓库到本地 

 

6.创建分支 

 

五、场景分析 

 组长基于本项目创建本地仓库,创建远程仓库推送项目到远程仓库

 每一位组员从远程仓库克隆项目到 IDEA 中,这样每位组员在自己电脑上就有了一个工作副本,可以正式地开始开发了。

 

组员A修改工作区,提交到本地仓库,在推送到远程仓库组员B可以直接从远程仓库获取最新的代码

 组员A和组员B修改同一个文件的同一行提交到本地没有问题。但是推送到远程仓库时,后一个推送操作就会失败。
解决方法:需要先获取远程仓库的代码到本地仓库,编辑冲突,提交并推送代码。

 

  1. 切换分支前先提交本地的修改✅✅✅
  2. 代码及时提交,提交过了就不会丢
  3. 遇到任何问题都不要删除文件目录

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Unstoppable~hu

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

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

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

打赏作者

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

抵扣说明:

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

余额充值