目录

一、获取本地仓库

二、为常用指令配置别名

三、基础操作指令

四、分支

五、Git远程仓库( 码云Gitee)

(一)配置SSH公钥

(二)Gitee设置账户公钥

六、操作远程仓库

(一)添加远程仓库

(二)查看远程仓库

(三)推送到远程仓库

(四)查看本地分支与远程分支的关联关系

(五)从远程仓库克隆

(六)从远程仓库中抓取和拉取

(七)解决合并冲突

七、在IDEA中使用Git

(一)在IDEA中配置Git

(二)初始化本地仓库

(三) 提交到本地仓库

(四)创建项目远程仓库

(五)推送到远程仓库

(六)克隆远程仓库到本地

(七)创建分支

八、场景分析

九、几条铁令(注意事项)


笔记跟课:黑马程序员 https://www.bilibili.com/video/BV1MU4y1Y7h5/https://www.bilibili.com/video/BV1MU4y1Y7h5/

一、获取本地仓库

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

二、为常用指令配置别名

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

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

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

三、基础操作指令

序号 指令格式 说明
1 git add 【工作区 ----> 暂存区】
2 git commit 【暂存区 ----> 本地仓库】
3 git status 查看修改的状态
4 git add 单个文件名|通配符 添加工作区一个文件的修改到暂存区
git add 将所有修改加入到暂存区
5 git commit -m "注释内容" 提交暂存区的内容到本地仓库的分支中
6 git log [option] 查看提交记录

●options:

▢ --all 显示所有分支

▢ --pretty=oneline 将提交信息显示为一行

▢ --abbrev-commit 使得输出的commitid更简短

▢ --graph 以图的形式显示

7 git reset --hard.commitID 版本切换(commitID 可用 git log 指令查看)
8 希望某些文件不要纳入git的管理:创建 .gitignore 文件(文件名称固定),然后列出要忽略的文件模式(例如:*.a     doc/*.txt)

四、分支

序号 指令格式 说明
1 git branch 查看本地分支
2 git branch 分支名 创建本地分支
3 git checkout 分支名 切换分支
git checkout -b 分支名 直接切换到一个不存在的分支(创建并切换)
4 git merge 分支名 一个分支的提交可以合并到另一个分支
5 git branch -d b1 删除分支时,需要做各种检查 不能删除当前分支,只删除其他分支
git branch -D b1 不作任何检查,强制删除

五、Git远程仓库( 码云Gitee)

(一)配置SSH公钥

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

(二)Gitee设置账户公钥

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

六、操作远程仓库

(一)添加远程仓库

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

    示例:

(二)查看远程仓库

  • 指令:git remote

(三)推送到远程仓库

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

示例:

结果:

(四)查看本地分支与远程分支的关联关系

  • 指令:git branch -vv

(五)从远程仓库克隆

  • 指令:git clone <仓库路径> <本地目录>
            ▢ 本地目录可以省略,会自动生成一个目录
            ▢ 一般只用一次

(六)从远程仓库中抓取和拉取

远程分支和本地分支一样,可以进行merge操作,只是需要先把远端仓库里的更新都下载到本地,再进行操作。

  • 抓取指令:git fetch [remote name] [branch name]
            ▢ 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
            
    ▢ 若不指定远端名称和分支名,则抓取所有并更新当前分支。
  • 拉取指令:git pull [remote name] [branch name]
            ▢ 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
            ▢ 若不指定远端名称和分支名,则抓取所有并更新当前分支。

(七)解决合并冲突

情形:在一段时间,A,B同时修改了同一个文件的同一行代码,此时会发生合并冲突。

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

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

七、在IDEA中使用Git

(一)在IDEA中配置Git

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

(二)初始化本地仓库

(三) 提交到本地仓库

(四)创建项目远程仓库

在Gitee中新建一个远程仓库

(五)推送到远程仓库

(六)克隆远程仓库到本地

(七)创建分支

八、场景分析

场景:

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

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

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

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

九、几条铁令(注意事项)

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

Git学习笔记(黑马)相关推荐

  1. ​​​​​​​Git学习笔记与IntelliJ IDEA整合

    2019独角兽企业重金招聘Python工程师标准>>> Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:htt ...

  2. Git 学习笔记:自定义Git(完)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  3. Git学习笔记:标签管理以及GItHub

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  4. Git学习笔记:分支管理3

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  5. Git学习笔记:分支管理(2)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  6. Git学习笔记:分支管理(1)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  7. Git学习笔记:远程仓库

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  8. Git学习笔记:修改

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  9. 取得 Git 仓库 —— Git 学习笔记 04

    取得 Git 仓库 -- Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区.索引.本地版本库之间的交互:二是本地版本库和远程版本库之间的交互.第一块是基础,第二块是难点. 下面, ...

  10. Git 的安装与初次使用 —— Git 学习笔记 03

    Git 的安装与初次使用 -- Git 学习笔记 03 Git 的安装与初次使用 -- Git 学习笔记 03 安装 Git 在 Linux 上安装 在 Windows 上安装 初次运行 Git 前的 ...

最新文章

  1. centos下安装apache + subversion(转)
  2. [导入][翻译]匈牙利命名法的缺点
  3. .NET仓储模式高级用例
  4. 2014全年目标及执行情况跟踪
  5. Java IO最详解
  6. CV之FE:基于TF进行FE——去除异常(被损坏)图像 和单通道图像
  7. mysql5.7.12 64位解压版_mysql 5.7 64位 解压版安装
  8. jMeter创建微软Azure Lambda Function报错
  9. 非大学生学计算机,浅谈非计算机专业大学生的计算机教学
  10. centos命令行安装mysql_Centos下安装mysql 总结
  11. ASP连接各类数据库的语句
  12. 海外ubuntu,lamp,ftp,phpmyadmin配置
  13. 数据库技能实战进阶之常用结构化sql语句(中)
  14. 新手如何使用Docker来搭建PHP开发环境?
  15. 保障Web服务的安全
  16. Informatica的元数据和数据血缘关系
  17. Actors 基于消息驱动的异步编程模型
  18. dubbo服务出现大量超时问题
  19. ROS综合学习记录(一)---cmd_vel转换为阿克曼模型的速度变换
  20. 初学编程该如何选择编程语言?

热门文章

  1. JAVA的基础数据类型及运行方法
  2. 测试你的真实性格软件,测试你最真实的性格
  3. SAS 导入excel
  4. android 输出xlsx文件格式,Android导出Excel表格文件
  5. adb Android禁用四大组件与如何冻结APP
  6. 互联网摸鱼日报(2023-06-14)
  7. 山武阀门定位器安装后的调试
  8. 简明x86汇编语言教程
  9. 苹果电脑使用软件推荐
  10. mysql插件开发_mysql的插件开发记录