Git学习笔记(黑马)

目录

一、获取本地仓库

二、为常用指令配置别名

三、基础操作指令

四、分支

五、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目录

Git学习笔记(黑马)_第1张图片

二、为常用指令配置别名

        在当前目录下创建一个 .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)

Git学习笔记(黑马)_第2张图片

四、分支

序号 指令格式 说明
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学习笔记(黑马)_第3张图片

六、操作远程仓库

(一)添加远程仓库

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

    Git学习笔记(黑马)_第4张图片

    示例:

(二)查看远程仓库

  • 指令:git remote

(三)推送到远程仓库

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

        示例:

Git学习笔记(黑马)_第5张图片

         结果:

Git学习笔记(黑马)_第6张图片

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

  • 指令: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路径)

Git学习笔记(黑马)_第7张图片

(二)初始化本地仓库

Git学习笔记(黑马)_第8张图片

Git学习笔记(黑马)_第9张图片

(三) 提交到本地仓库

Git学习笔记(黑马)_第10张图片

(四)创建项目远程仓库

        在Gitee中新建一个远程仓库

(五)推送到远程仓库

Git学习笔记(黑马)_第11张图片

Git学习笔记(黑马)_第12张图片

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

Git学习笔记(黑马)_第13张图片

Git学习笔记(黑马)_第14张图片

Git学习笔记(黑马)_第15张图片

(七)创建分支

Git学习笔记(黑马)_第16张图片

Git学习笔记(黑马)_第17张图片

八、场景分析

场景:

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

    Git学习笔记(黑马)_第18张图片

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

    Git学习笔记(黑马)_第19张图片

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

    Git学习笔记(黑马)_第20张图片

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

    Git学习笔记(黑马)_第21张图片

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

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

你可能感兴趣的:(Git,git,学习,github,idea)