Git从零到一看这篇文章就够了

🔥前言

前一阵子做的好多项目存到电脑里头都大了,虽然短时间没有用,但是删了实在可惜,于是我熬夜加班学习了Git的基本使用并快速入门,把项目存放到了远程仓库。随后写下了这篇博客,保证非常之新鲜热乎啊,快来跟我快速入门Git!

@[TOC]

✨Git的快速入门

  • Git——分布式版本控制

    优势:和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都要干瞪眼了。

Git安装与常用命令

1.1Git环境配置

1.1.1 下载与安装

在官网下载Git即可,下载地址放在这儿,需要自取👉git-scm.com或者gitforwindows.org,​我的Git版本是Git-2.35.1.2-64-bit点击.exe文件下载(一直点next即可)

1.1.2基本配置

1、打开Git Bsah(电脑壁纸界面右键寻找)

  • 右键能找到 Git Bash说明Git安装成功

2、设置用户信息

用户名:git congfig --global user.name "自己的id"
邮箱:git congfig --global user.email "随便写"

  • 查看配置信息

    用户名:git congfig --global user.name
    邮箱:git congfig --global user.email

1.1.3为常用指令配置别名

有些常用的指令参数非常多,为了减少代码量,我们可以使用别名

  • 打开用户目录,创建.bashrc文件

    部分windows系统不允许用户创建点号开头的文件,可以打开gitBash输入touch ~/.bashrc

  • 在上方文件中输入以下内容

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

  • 打开gitBash,输入 source ~/.bashrc

1.2 获取本地仓库

要使用Git对我们的代码进行版本控制,首先要获得本地仓库

  • 在电脑任意位置创建一个新目录,例如:D盘myGit下新创建ylqb_test1文件夹
    在这里插入图片描述

  • 进入这个目录中,右键进入Git Bash 窗口

  • 执行命令 git init

  • 创建成功后可以看到该目录下生成了一个.git隐藏目录
    在这里插入图片描述
    找不到的话在“查看“中打开隐藏的项目

    *1.3基础操作指令

Git 工作目录下对于文件的修改(增加、删除、更新)存在着几种状态,我们可以通过git的命令来更改这些状态

三种状态:

  • 工作区(workplace)

    这里存放着新建的文件(untracked)以及修改的文件(unstaged)

  • 暂存区(index)

    这里存放着已经暂存(staged)的文件,等待提交给仓库

  • 仓库(repository)

    存放暂存区提交的文件,以及提交的日志等信息

*1.3.1重要指令

  • 查看修改的状态 git status

  • 将工作区添加到暂存区

    • 添加单个文件语法:git add 文件名|通配符

      添加多个文件:git add .

  • 提交到仓库 git commit -m"注释内容"

    1.3.2 查看日志(log)

普通版:git log --子命令

建议直接使用上面1.1.3所配置的别名 git-log即可,这样看到的是优化版的日志提示

1.3.3版本回退

  • 作用:版本切换
  • 命令形式:git reset commitID --hard (--hard也可以写在commitID之后,commitID是提交记录号)
    • commitID 可以用 git log或者 git-log命令找到
  • 如何查看删除的文件
    • git reflog
    • 这个可以查看已经删除的提交记录从而获得版本号

1.3.4添加文件至忽略列表

如果我们有些文件不想纳入Git管理,也不希望他们总出现在未跟踪的文件列表里,通常都是一些日志文件或者编译过程产生的文件,在这种情况下我们可以建立一个 名为.gitignore的固定文件,在文件里列出要忽略文件的后缀名即可。

1.4 分支

几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作人员从开发主线分离进行重大bug的修改,开发新功能,以免影响开发主线

1.4.1查看本地分支

  • git branch

1.4.2创建本地分支

  • git branch 分支名

*1.4.3切换分支

  • git checkout 分支名
  • 创建并切换分支:git checkout -b 分支名

1.4.4合并分支

  • 一个分支上的提交可以合并到另一个分支

  • git merge 分支名称

1.4.5删除分支

  • git branch -d 分支名 这个方法需要检查分支的关系,有可能删除失败
  • git branch -D 分支名 不做检查,强制删除分支

注意:不能删除当前分支,应切换到其他分支再删除要删除的分支

1.4.8 解决冲突

当两个分支以上对文件的修改可能会存在冲突,比如两个分支同时修改了同一个文件的同一行代码,这就需要手动解决Git无法判断提交哪个分支修改的问题.

  • 处理文件中冲突的地方
  • 将解决好冲突的文件加入暂存区(git add)
  • 提交到仓库(git commit)

2、Git远程仓库

2.1常用的托管服务(远程仓库)

  • gitHub 外国网站,网速慢
  • gitee(码云)国内网站,使用码云操作

2.2注册码云(略)

注册地址:https://gitee.com/signup

2.3新建远程仓库

2.4***H公钥

通过SSH公钥来绑定个人仓库和远程仓库

  • 生成SSH公钥
    • ssh-keygen -t rsa
    • 不断回车(公钥存在会自动覆盖)
  • Gitee设置账号公钥
    • 获取公钥
      • cat ~/.ssh/id_rsa.pub
      • 注意复制的时候选中即可,不能ctrl+c
    • 检验是否配置成功
      • ssh -T git@gitee.com(出现下面的情况就是配置成功)

2.5操作远程仓库

2.5.1绑定远程仓库地址

  • git remote add <远端名称><仓库路径> (仓库路径按下图所示复制即可)
    • 远端名称,默认是origin,取决于远端服务器
    • 仓库路径,从远端服务器获取此URL

2.5.2查看远程仓库

  • git remote

2.5.3推送到远程仓库

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

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

  • git branch -vv
    • 更加详细的查看分支

2.5.5从远程从库克隆

如果以及有一个远端仓库,我们可以直接 clone到本地

  • git clone <仓库路径>[本地目录] (可以在桌面打开GitBash进行克隆,桌面就会多出一个仓库)
    • 本地目录不加的话会自动生成一个目录

2.5.6从远程仓库抓取拉取

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

  • 抓取命令:git fetch[remote name][branch name]
    • 抓取指令就是将仓库的更新都抓取到本地,不会进行合并
    • 如果不指定远端名称和分支名,则抓取所有分支
    • 抓取更新的提交之后,再进行merge,这样clone的仓库也就完成了更新
  • 拉取命令:git pull[remote name][branch name]
    • 拉取命令就是将远端仓库的修改拉到本地并自动进行合并,等同于 fetch+merge
    • 如果不知道远端名称和分支名,则抓取所有并更新当前分支

2.5.7解决合并冲突

当两个以上的人同时修改同一个分支的同一行代码时,再将修改后的提交推到远程仓库的时候会出现冲突,解决办法和本地仓库解决冲突方法一致,不做演示。

📃 结语

总结了一天的Git笔记,最后也成功的将我的一些项目推送到了远程仓库,收获满满啊!另外如果文章看不太懂的朋友可以拿着我的笔记去B站找找Git入门的资源进行学习,一定是事半功倍的!超级实用的Git,快拿去学习吧,冲冲冲!!!

全部评论
楼主分享了不少好东西呀
点赞 回复 分享
发布于 2022-08-19 14:47 陕西

相关推荐

昨天 17:48
中山大学 C++
点赞 评论 收藏
分享
11-04 14:10
东南大学 Java
_可乐多加冰_:去市公司包卖卡的
点赞 评论 收藏
分享
评论
2
9
分享
牛客网
牛客企业服务