Git入门学习笔记

Git是一个非常强大的分布式版本控制工具

在下载好Git之后,鼠标右击就可以显示 Git Bash 和 Git GUI,Git Bash 就像是在电脑上安装了一个小型的 Linux 系统!

  1. 打开 Git Bash

  2. 设置用户信息(这是非常重要的

git config --global user.name "输入要设置的名字"

git config --global user.email "输入要设置的邮箱"

查看配置信息

git config --global user.name

git config --global user.email

  1. 为常用的指令配置别名

有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名。

  1. 打开用户目录,创建 .bashrc 文件(注意,部分windows系统不允许我们创建以点开头的文件,可以使用命令行工具)

打开 Git Bash ,执行touch ~/.bashrc,touch 类似于linux系统下的创建文件,~ 波浪号代表当前的根目录

获取本地仓库

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

  1. 在电脑任意的位置创建一个空目录(例如 Test)作为我们的本地 Git 仓库。(可以使用命令行 touch ~/.Test,也可以直接在windows系统下右击创建文件)

  2. 进入这个目录中,点击右键打开 Git Bash 窗口

  3. 执行命令 git init

  4. 如果创建成功后可在文件下看到隐藏的 .git 目录

基本操作指令

Git 工作目录下(这里简单说一下什么叫做工作目录,在之前创建的本地仓库中,除了 .git 文件之外的其他所有创建的文件都叫做工作目录)对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行 Git 的命令而发生变化。

使用如下命令来控制状态之间的切换:

  1. git add (工作区 --> 暂存区)

  2. git commit (暂存区 --> 本地仓库)

查看修改的状态(status)

作用:查看修改的状态:暂存区,工作区

命令形式:git status

添加工作区到暂存区

git add

提交暂存区到本地仓库

git commit -m "注释内容"

查看提交日志(简单来说就是查看一个文件的修改历史)

git log [option]

option

--all 显示所有分支

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

--abbrev-commit 使得输出的commitld更简短

--graph 以图的形式显示

版本回退

命令形式:git reset --hard commitID

commitID 可以使用 git -log 或 git log 查看 (这里说一下如何在 命令行中进行复制粘贴,在没有进行特殊设置之前,选中即意味着复制,按下鼠标的滚轮,意味着进行粘贴,绝不会 ctrl + cv)

如何查看已经删除的记录?

git reflog

这个指令可以看到已经删除的提交记录

分支

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

git branch 命令用来查看有哪些分支

git branch + 分支名 即可用来创建另一个分支

git checkout 切换分支

git checkout -b 分支名 创建并切换到新的分支上

git merge 分支名称(通常都是合并到master分支上)

git branch -d b1 删除分支时,需要做各种检查

git branch -D b1 不做任何检查,强制删除

解决冲突

当不同分支同时修改同一行代码或者数据的时候,就会产生冲突,在合并分支的时候,Git 并不知道到底应该去执行哪个分支,此时,Git 就会将这个问题留给开发者。

此时开发者就需要手动去解决冲突:

  1. 手动去处理文件冲突的地方

  2. 将解决完冲突的文件加入暂存区(add)

  3. 提交到仓库(commit)

开发中分支的使用原则与流程

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

master 分支:线上主分支

develop 分支:开发的主要分支,最终合并到 master 分支上进行项目程序的上线(合并完之后一般不进行删除)

feature 分支:分支的研发任务,完成后合并到 develop 分支(合并完成后一般删除掉)

Git 远程仓库

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

通过之前的学习,我们已经知道了 Git 存在两种类型的仓库,即本地仓库和远程仓库。那么如何去搭建 Git 远程仓库呢?我们可以借助互联网上提供的一些代码管理服务来实现,其中比较常用的有 GitHub,码云,GitLab等

gitHub(https://github.com

码云(https://gitee.com

GitLab(https://about.gitlab.com

首先自己创建远程仓库:

git remote add origin git@gitee.com:cabk_xiao/git_test.git(这一命令行的意思就是说:remote add 远程添加到仓库 git@gitee.com:cabk_xiao/git_test.git ,并且设置名字为 origin)

git remote 命令用于查看已经连接的远程仓库

git push origin master 用于将本地仓库推送到远程仓库(这样一来本地仓库的代码就会被推送到远程仓库中)

在推送到远端的同时和远端分支建立了关联关系:

--set--upstream 推送到远端的同时并且建立起和远端分支的关联关系

git push --set-upstream origin master

此命令表示当前分支已经和远端分支建立了关联,此后使用的时候可以省略分支名和远端名。

本地分支和远程分支的关联关系

查看关联关系的时候我们可以使用:git branch -vv 命令

从远程仓库克隆(这个命令是我们平时使用最方便的)

所谓克隆就是:当其他程序员将代码公开到 GitHub ,码云 ,GitLab 下时,我们可以直接去使用,通过克隆命令直接克隆远程仓库到本地

git clone 远程仓库路径 本地目录

ag. git clone https://gitee.com/czbk_zhang/git_test.git git-test(通过这样一个路径,就可以实现将远程仓库他人的代码克隆到本地进行使用)

从远端仓库中拉取和抓取

抓取命令:git fetch [remote name] [branch name]

抓取指令就是将仓库里的更新都抓取到本地,不会进行合并

拉取命令:git pull [remote name] [branch name]

拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于 fetch + merge

相关推荐
王解4 小时前
Jest项目实战(4):将工具库顺利迁移到GitHub的完整指南
单元测试·github
油泼辣子多加4 小时前
2024年11月4日Github流行趋势
github
梓羽玩Python5 小时前
推荐一款用了5年的全能下载神器:Motrix!全平台支持,不限速下载网盘文件就靠它!
程序员·开源·github
小牛itbull11 小时前
ReactPress:重塑内容管理的未来
react.js·github·reactpress
鱼满满记19 小时前
1.6K+ Star!GenAIScript:一个可自动化的GenAI脚本环境
人工智能·ai·github
梦魇梦狸º1 天前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github
Huazie1 天前
一篇搞定 Hexo Diversity 主题接入!支持多主题自由切换!
javascript·github·hexo
草明2 天前
Nginx 做反向代理,一个服务优先被使用,当无法提供服务时才使用其他的备用服务
运维·nginx·github
马里嗷2 天前
Puppeteer - 掌控浏览器自动化的开源利器
后端·github