news 2026/8/17 15:41:42

git使用笔记 ---基础篇

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
git使用笔记 ---基础篇

git 使用笔记

一、下载安装

下载地址:git

二、基础设置

2.1、配置用户信息

# 设置全局用户名和电子邮件gitconfig--globaluser.name"用户名"gitconfig--globaluser.email"用户名"# 某个项目中使用不同的用户名和邮箱gitconfig user.name"用户名"gitconfig user.email"用户名"

2.2、配置查询

#查询设置gitconfig--list

2.3、删除

#删除用户信息gitcredential-manager uninstall#删除一个文件rmname

2.4、公钥操作

#设置公钥 #输入邮箱 ssh-keygen -t rsa -C "xxx@xxx.com" #查看密钥 cat ~/.ssh/id_rsa.pub

2.5、仓库操作

#初始化gitgitinit#连接gitee项目gitremoteaddorigin https:/gitee.com/仓库名/项目名.git#删除远程文件, cached不会把本地的文件删除gitrm-r--cached<dir_name>#删除远程仓库gitremotermname#修改仓库名gitremoterenameold_name new_name

2.6、文件/文件夹

#新建一个文件 如touch index.js在当前目录下新建index.js文件touchname#新建一个目录,就是新建一个文件夹. 如mkdir src 新建src 文件夹mkdirname#删除一个文件夹,先删除文件夹里面的内容,再删除文件夹rm-rname#移动文件,例如:mv a.html src b.html# a是我们要移动的文件,# src 是目标文件夹,#当然, 这样写,必须保证文件和目标文件夹在同一目录下mvname src name

2.7、上传

#添加到暂存区里面去,如果后面接小数点“.”,意为添加文件夹下的所有文件gitadd.#添加到暂存区里面去,如果后面接小数点“.”,意为添加文件夹下的所有文件gitaddfile1.txt file1.txt#把文件提交到仓库。引号内为提交说明gitcommit-m"备注内容"#将最新的修改强制推送到远程仓库gitpush-uorigin master-f#将最新的修改推送到远程仓库gitpush origin master#切换到分支:gitcheckout-bbranch_name

2.8、下拉

#同步项目到本地#主分支拉取gitclone https:/gitee.com/xxx/#指定分支拉取 testing分支名gitclone-btesting https:/gitee.com/xxx.git#同步项目到本地 testing分支名gitpull origin testing#将远程origin主机的master分支拉取过来和本地的当前分支进行合并gitpull origin

2.9、分支管理

#分支#查看分支gitbranch#查看分支gitbranch-a#添加分支 创建完分支后git branch可以查看当前分支是否已经创建成功gitbranch testing#添加分支gitbranch checkout-btesting#推送分支gitpush origin testing#更新远程分支到本地gitfetch#切换分支gitcheckout testing#删除分支gitbranch-dtesting

2.10、版本管理

#版本管理#查看日志gitlog#查看日志gitreset--hardcommit#推送到本地到远程仓库:让远程仓库代码和本地一样gitpush origin HEAD--force

2.11、清屏

#把git bash命令窗口中的所有内容清空reset

三、基础操作

3.1、初步操作

3.1.1、配置 Git 用户信息

每次 Git 提交代码时,Git 会使用用户的姓名和电子邮件来标记这次提交。这是 Git 的基本配置。

  1. 设置全局用户名和电子邮件:

    gitconfig--globaluser.name"Your Name"gitconfig--globaluser.email"your_email@example.com"
  2. 如果你只想在某个项目中使用不同的用户名和邮箱,可以使用--local修改当前仓库的设置:

    gitconfig user.name"New Name"gitconfig user.email"new_email@example.com"
3.1.2、配置 Git 编辑器

如果你在提交时没有提供提交信息,Git 会打开默认的文本编辑器来让你输入。你可以选择一个你熟悉的编辑器:

  1. 设置 Vim 为默认编辑器(默认编辑器):

    gitconfig--globalcore.editorvim
  2. 设置其他编辑器,如 VS Code:

    gitconfig--globalcore.editor"code --wait"
3.1.3、查看 Git 配置

你可以使用以下命令查看当前的 Git 配置信息:

gitconfig--list

3.2、下载仓库或文件

Git 提供了多种方法来下载仓库或文件,最常见的是克隆仓库和拉取最新代码。

3.2.1、克隆仓库

如果你想下载一个 Git 仓库,可以使用git clone命令。

  1. 克隆远程仓库:

    gitclone https://github.com/username/repository.git

    或者使用 SSH(如果已配置 SSH 密钥):

    gitclone git@github.com:username/repository.git
  2. 克隆指定分支: 如果仓库有多个分支,你可以通过-b参数指定要克隆的分支:

    gitclone-bbranch_name https://github.com/username/repository.git
3.2.2、拉取更新

如果你已经克隆了仓库,并且希望将远程仓库的最新更改拉取到本地,可以使用git pull命令:

  1. 拉取并合并远程主分支(默认是origin/master):

    gitpull origin master
  2. 拉取其他分支的更改:

    gitpull origin branch_name

3.3、新建仓库上传

3.3.1、创建新的 Git 仓库
  1. 创建一个新目录,并进入该目录:

    mkdirnew_repositorycdnew_repository
  2. 初始化 Git 仓库:

    gitinit

    这将在当前目录中创建一个.git文件夹,表示该目录是一个 Git 仓库。

3.3.2、添加文件并提交
  1. 将文件添加到 Git 仓库:

    echo"Hello, World!">file.txt
  2. 将文件添加到 Git 暂存区:

    gitaddfile.txt
  3. 提交文件到仓库:

    gitcommit-m"Add file.txt"
3.3.3、将本地仓库推送到远程
  1. 创建一个远程仓库(如 GitHub 或 GitLab)。

  2. 将远程仓库添加为本地仓库的远程源:

    gitremoteaddorigin https://github.com/username/new_repository.git
  3. 将本地仓库推送到远程仓库:

    # 上传的是 master 分支gitpush-uorigin master# 上传指定分支gitcheckout-bdevgitpush-uorigin dev

    如果是第一次推送,可以使用-u设置上游分支。

3.4、已有仓库上传文件

3.4.1、仓库同步后上传

本地和服务器端都已经有仓库,并且需要同步文件,操作如下:

3.4.1.1、检查远程仓库

首先,确保你的本地仓库与远程仓库连接正常。可以使用git remote -v命令查看当前远程仓库配置:

gitremote-v

如果远程仓库没有配置,可以使用git remote add命令将远程仓库添加到本地仓库:

gitremoteaddorigin https://github.com/username/my_project.git
3.4.1.2、拉取远程仓库的更改

在进行上传之前,首先拉取远程仓库的最新更改,避免代码冲突:

gitpull origin master

如果远程仓库有多个分支,拉取特定的分支:

gitpull origin dev
3.4.1.3、上传本地更改

在本地仓库进行修改后,提交并推送更改到远程仓库:

  1. 添加修改文件:

    gitadd.
  2. 提交修改:

    gitcommit-m"Update files"
  3. 推送更改到远程仓库:

    gitpush origin master

如果你在本地使用的是其他分支(如dev),推送时指定相应的分支:

gitpush origin dev
3.4.1.4、同步完成

此时,远程仓库和本地仓库的文件已同步。

3.4.1.2、完整下拉后上传

远程仓库已经在服务器上创建,本地没有该仓库,你需要编辑文件并将更改同步到服务器。

3.4.1.2.1、克隆远程仓库到本地

首先,你需要将远程仓库克隆到本地:

gitclone https://github.com/username/my_project.git

或者使用 SSH 协议(如果你已经配置了 SSH 密钥):

gitclone git@github.com:username/my_project.git
3.4.1.2.2、编辑文件

进入克隆下来的本地仓库并进行文件修改:

cdmy_project

例如,修改一个文件:

echo"New content">file.txt

或者编辑文件:

vimfile.txt
3.4.1.2.3、提交修改

在本地进行更改后,使用以下命令将修改提交到本地仓库:

  1. 添加文件到暂存区:

    gitaddfile.txt
  2. 提交更改:

    gitcommit-m"Update file.txt"
3.4.1.2.4、推送更改到远程仓库

提交本地更改后,将这些更改推送到远程仓库:

git push origin master

如果你在其他分支上工作,推送时指定相应分支:

gitpush origin dev
3.4.1.2.5、同步完成

现在,远程仓库上的文件已经更新,并且与本地更改同步。

3.5、版本以及分支管理

3.5.1、查看版本历史
  1. 查看提交日志:

    gitlog

    可以加上--oneline参数,以简洁的方式查看:

    gitlog--oneline
  2. 查看某个文件的历史记录:

    gitlog file.txt
3.5.2、创建分支
  1. 创建一个新分支:

    gitbranch new_branch_name
  2. 切换到新创建的分支:

    gitcheckout new_branch_name

    或者使用以下命令创建并切换到新分支:

    gitcheckout-bnew_branch_name
3.5.3、合并分支
  1. 切换到你想合并到的分支(例如master):

    gitcheckout master
  2. 合并其他分支(例如new_branch_name)到当前分支:

    gitmerge new_branch_name

    如果有冲突,Git 会提示你手动解决冲突。

3.5.4、删除分支
  1. 删除本地分支:

    gitbranch-dbranch_name
  2. 删除远程分支:

    gitpush origin--deletebranch_name
3.5.5、查看当前分支
  1. 查看当前所在分支:

    gitbranch
  2. 查看所有分支(包括远程分支):

    gitbranch-a
3.5.6、切换分支

切换到其他分支:

gitcheckout branch_name

四、快捷方式

4.1、cmd脚本

新建.cmd文件输入以下内容,注意:CMD命令提示符默认使用的是**GBK/GB2312**编码格式,如果编码格式错误,中文会显示乱码。

gitpull origin mastergitadd.gitcommit-m"Synchronize from the local server to the cloud server"gitpush origin master

附件1:常见问题

1、换行符 LF 警告

解释:

  • LF(Line Feed):Linux 和 macOS 使用的换行符。
  • CRLF(Carriage Return + Line Feed):Windows 使用的换行符。

Git 默认会根据操作系统自动调整换行符以保持一致性,避免不同操作系统下的换行符差异导致问题。这个警告告诉你,Git 将在提交时自动将文件中的换行符从LF转换为CRLF,以适应你当前的操作系统(Windows)。

解决方法

  1. 忽略换行符转换警告

如果你不关心换行符的转换,并且希望 Git 按照默认方式自动转换,可以忽略这些警告。Git 会在提交时进行换行符转换,不会影响代码的功能。

  1. 配置 Git 保持一致的换行符设置

你可以配置 Git 以强制保持一致的换行符风格。例如,你可以指定 Git 使用LF(Linux/macOS 样式的换行符),这样无论在哪个操作系统上操作,提交到仓库的文件都将始终使用LF

在 Git 中设置core.autocrlf选项:

  • 在 Windows 上强制转换为 CRLF(默认设置):

    gitconfig--globalcore.autocrlftrue
  • 在 Windows 上保留 LF 换行符: 如果你希望 Git 始终使用 LF(即使在 Windows 上也不转换为 CRLF),可以设置为input

    gitconfig--globalcore.autocrlf input
  • 禁止换行符转换: 如果你不希望 Git 做任何换行符的自动转换,可以设置为false

    gitconfig--globalcore.autocrlffalse
  1. 手动修复换行符问题

如果你希望在提交之前修复文件中的换行符问题,可以使用以下命令将所有文件的换行符转换为LF(适用于 Linux/macOS):

find.-typef-execdos2unix{}\;

在 Windows 上,你可以使用unix2dosdos2unix工具来修复换行符。

2、仓库的所有者与当前用户不匹配

仓库所在的目录///my_project/electronic_lighter由一个不同的用户(S-1-5-21-2988692519-1305695472-2085298601-3002)所有,而当前操作的用户是MO/aa(S-1-5-21-859680190-3714723100-4203350317-1001)。

Git 在某些情况下(如 NFS 挂载的网络驱动器或跨不同操作系统的文件共享)会对目录的所有权进行严格检查,以确保文件系统的安全性。如果它发现仓库目录的所有者不匹配,Git 会认为这是一个潜在的安全风险。

解决方法

你可以通过添加一个safe.directory配置来告诉 Git 该目录是安全的并允许操作。

  1. 添加安全目录配

根据提示信息,你可以使用以下命令将该目录添加为安全目录:

gitconfig--global--addsafe.directory'%(prefix)///my_project/electronic_lighter'

这条命令会将指定目录标记为安全目录,并允许 Git 在该目录下进行操作。

  1. 验证配置是否成功

你可以通过以下命令检查配置是否正确添加:

gitconfig--global--get-all safe.directory

这将列出所有被 Git 标记为安全的目录。

  1. 重新尝试git add .

完成配置后,重新运行你的git add .命令:

gitadd.
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/17 15:34:10

LTC流程与铁三角销售体系:从线索到回款的实战组织进化

1. 项目概述&#xff1a;一次关于销售组织进化的深度复盘最近在整理过往的项目笔记时&#xff0c;翻到了这本《LTC与铁三角&#xff1a;从线索到回款》。人民邮电出版社的这本书&#xff0c;在圈内被不少一线的销售管理者和变革推动者私下里称为“实战红宝书”。它没有停留在高…

作者头像 李华
网站建设 2026/8/17 15:33:25

Windows系统cryptbase.dll丢失导致软件报错:从原理到修复全解析

1. 项目概述&#xff1a;从一次典型的系统报错说起 那天下午&#xff0c;我正在帮一位朋友远程处理一台老旧的办公电脑&#xff0c;系统是 Windows 10&#xff0c;但很久没更新了。他需要更新打印机驱动&#xff0c;于是下载了“驱动精灵”这个在国内用户中普及度很高的驱动管理…

作者头像 李华
网站建设 2026/8/17 15:32:23

网络设备核心功能解析:从交换机、路由器到防火墙与无线组网

你有没有过这样的经历&#xff1a;刚接触网络设备时&#xff0c;面对一柜子的交换机、路由器、防火墙&#xff0c;感觉它们长得都差不多&#xff0c;但功能却天差地别&#xff1f;或者&#xff0c;在配置一个看似简单的网络互通时&#xff0c;命令敲了一堆&#xff0c;结果不是…

作者头像 李华
网站建设 2026/8/17 15:31:19

Vue项目集成vue-dplayer播放M3U8视频流实战指南

1. 项目缘起&#xff1a;为什么在Vue里播放M3U8是个“技术活”&#xff1f;最近在做一个后台管理系统&#xff0c;产品经理突然提了个需求&#xff1a;要在管理后台里嵌入一个视频播放模块&#xff0c;用来预览用户上传的课程录像。我心想&#xff0c;这还不简单&#xff1f;找…

作者头像 李华
网站建设 2026/8/17 15:28:17

国内低代码管理平台数智化

好的&#xff0c;我将按照您的要求&#xff0c;撰写一篇关于国内低代码管理平台数智化转型的干货文章。告别“表单工具”&#xff0c;低代码如何撑起企业数智化转型的“下半场”&#xff1f;当“数字化转型”从选择题变成必答题&#xff0c;许多企业管理者却发现&#xff0c;自…

作者头像 李华
网站建设 2026/8/17 15:28:15

Kimi K3-Fable5 API测评:解析预设时间控制与长文本处理能力

这次我们来看一个近期在开发者社区和AI应用圈里讨论度很高的项目&#xff1a;Kimi K3-Fable5。这个名字听起来可能有点复杂&#xff0c;但简单来说&#xff0c;它指的是月之暗面&#xff08;Moonshot AI&#xff09;推出的Kimi智能助手K3系列中的一个特定模型或功能版本&#x…

作者头像 李华