0


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即可实现指令别名的设置。

三、基础操作指令

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

    ▢ --all 显示所有分支

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

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

    ▢ --graph 以图的形式显示

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

四、分支

序号指令格式说明1git branch查看本地分支2git branch 分支名创建本地分支3git checkout 分支名切换分支git checkout -b 分支名直接切换到一个不存在的分支(创建并切换)4git merge 分支名一个分支的提交可以合并到另一个分支5git 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 学习 github

本文转载自: https://blog.csdn.net/qq_45832961/article/details/128750658
版权归原作者 ReadyGo!!! 所有, 如有侵权,请联系我们删除。

“Git学习笔记(黑马)”的评论:

还没有评论