news 2026/1/28 13:53:45

一文带你了解git在本地仓到远程仓及git在IDEA中的运用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文带你了解git在本地仓到远程仓及git在IDEA中的运用

Git_Windows安装地址

1.Git中和Linux相同的常用指令

常用 Linux 命令整理:

  1. 文件查看命令:

    • ls:列出当前目录内容
    • llls -al):显示包括隐藏文件在内的详细目录列表(隐藏文件以"."开头)
  2. 文件操作命令:

    • cat:查看文件内容
    • touch:创建新文件
    • vi:文本编辑器,用于创建或修改文件(打开文件后点击i键才能编写,之后点击esc打开操作保存并退出:

      esc:命令状态(:wq 保存并退出

      :w 保存

      :w! 强制保存

      :q 退出

      :q! 强制退出

      :wq! 强制保存并退出)

2.安装

在官网下载之后只需要傻瓜式安装

安装成功的标志

桌面右键:

或在文件夹中右键:

出现Open Git GUI here 和 Open Git Bash here

2.1 Git工具说明

  • Git GUI:Git 官方提供的图形界面操作工具
  • Git Bash:Git 官方提供的命令行操作工具

2.1.1 Git GUI(图形用户界面):

  1. 提供可视化的操作界面,通过点击按钮和菜单完成 Git 操作
  2. 特别适合:
    • Git 初学者快速上手
    • 不熟悉命令行的开发人员
    • 需要直观查看文件变更的场景
  3. 主要功能包括:
    • 提交(commit)变更
    • 创建分支(branch)
    • 合并(merge)分支
    • 查看提交历史
  4. 优势:操作直观,无需记忆命令

2.1.2 Git Bash(命令行工具):

  1. 基于 Unix/Linux 风格的命令行环境
  2. 特点:
    • 支持完整的 Git 命令集
    • 可以执行 shell 脚本
    • 提供 Linux 风格的命令行工具
  3. 适合:
    • 熟悉命令行的开发人员
    • 需要执行复杂 Git 操作的场景
    • 自动化脚本开发
  4. 典型使用场景:
    • 批量处理多个仓库
    • 执行高级版本控制操作
    • 与其他命令行工具集成

3 基本配置

  1. 启动Git Bash终端

  2. 配置用户信息(以下信息仅为示例,可根据实际情况修改):

    • 设置用户名:
      git config --global user.name "itOu"
    • 设置用户邮箱(无需真实邮箱):
      git config --global user.email "123456@itOu.com"
  3. 验证配置信息:

    • 查看用户名:
      git config --global user.name
    • 查看用户邮箱:
      git config --global user.email

  4. .常有指令配置

对于需要频繁输入多参数的命令,我们可以创建别名来简化操作。具体步骤如下:

  1. 在Windows系统中创建.bashrc文件(注意:某些终端不允许直接创建以点号开头的文件)
  2. 若遇到创建限制,可通过Git-Bash终端执行命令:touch ~/.bashrc
在根目录下创建文件

在桌面创建

5.找到创建的bushrc文件

在文件中写入

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

6. 解决乱码(选写:可以解决大部分型号电脑的中文乱码)

  1. 在 Git 中执行以下命令:
git config --global core.quotepath false

2.将以下内容添加到${git_home}/etc/bash.bashrc文件末尾:

export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8"

找的git安装路径:

4.实操

4.1 获取本地仓库

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

1)在电脑的任意位置创建一个空目录(例如 test)作为我们的本地 Git 仓库

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

3)执行命令 git init

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

一定要将显示中的隐藏项目打开不然是看不见这个隐藏文件夹.git!!!

4.2 基本操作

4.2.1、* 查看修改的状态(status)

  • 作用:查看的修改的状态(暂存区、工作区)
  • 命令形式:git status

4.2.2、* 添加工作区到暂存区 (add)

  • 作用:添加工作区一个或多个文件的修改到暂存区
  • 命令形式:git add 单个文件名|通配符
    • 将所有修改加入暂存区:git add .

4.2.3、* 提交暂存区到本地仓库 (commit)

  • 作用:提交暂存区内容到本地仓库的当前分支
  • 命令形式:git commit -m '注释内容'

4.2.4、* 查看提交日志 (log)

在 3-5 中配置的别名git-log就包含了这些参数,所以后续可以直接使用指令git-log

  • 作用:查看提交记录
  • 命令形式:git log [option]
    • options
      • --all显示所有分支
      • --pretty=oneline将提交信息显示为一行
      • --abbrev-commit使得输出的 CommitId 更简短
      • --graph以图的形式显示

4.2.5、版本回退

  • 作用:版本切换
  • 命令形式:git reset --hard commitID
    • commitID 可以使用git-loggit log指令查看
  • 如何查看已经删除的记录?
    • git reflog
    • 这个指令可以看到已经删除的提交记录
  • 其中commitID为唯一标识,就是图中开头黄色字段

4.2.6 添加文件至忽略列表

一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以在工作目录中创建一个名为.gitignore的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:

# no .a files *.a # but do track lib.a, even though you're ignoring .a files above !lib.a # only ignore the TODO file in the current directory, not subdir/TODO /TODO # ignore all files in the build/ directory build/ # ignore doc/notes.txt, but not doc/server/arch.txt doc/*.txt # ignore all .pdf files in the doc/ directory doc/**/*.pdf

4.2.7 分支

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

4.2.7.1、查看本地分支
  • 命令:git branch
4.2.7.2、创建本地分支
  • 命令:git branch 分支名
4.2.7.4、* 切换分支 (checkout)
  • 命令:git checkout 分支名
  • 我们还可以直接切换到一个不存在的分支(创建并切换)
    • 命令:git checkout -b 分支名
4.2.7.6、* 合并分支 (merge)

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

  • 命令:git merge 分支名称
4.2.7.7、删除分支

不能删除当前分支,只能删除其他分支

  • git branch -d b1删除分支时,需要做各种检查
  • git branch -D b1不做任何检查,强制删除
4.2.7.8、解决冲突

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:

  1. 处理文件中冲突的地方
  2. 将解决完冲突的文件加入暂存区 (add)
  3. 提交到仓库 (commit)

4.2.8 冲突

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:

  1. 处理文件中冲突的地方
  2. 将解决完冲突的文件加入暂存区 (add)
  3. 提交到仓库 (commit)

冲突部分的内容处理如下所示:

5. 建立远程仓

5.1 配置SSH公钥

  • 生成 SSH 公钥
    • ssh-keygen -t rsa
    • 不断回车
      • 如果公钥已经存在,则自动覆盖
  • Gitee 设置账户公钥
    • 获取公钥
      • cat ~/.ssh/id_rsa.pub
    • 验证是否配置成功
      • ssh -T git@gitee.com

5.2建立联系

右键点击你创建的本地仓库,选择打开 Git 命令行
输入以下命令添加远程仓库:
git remote add origin git@gitee.com:ouyanghao-ou/git_test.git

其中origin是自定义的远程仓库名称

输入:git remote查看是否添加成功

上传git push origin master

5.3 推送到远程仓库

命令:git push [-f] [--set-upstream] [远端名称] [本地分支名]:[远端分支名]

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

5.3.1、本地分支与远程分支的关联关系

  • 查看关联关系可以使用git branch -vv命令

示例终端输出:

zhang@zhangmeng MINGW64 ~/Desktop/git-test/test01 (master) $ git branch -vv b2 80aba30 [origin/b2] 在b2分支修改file02 b3 975a5b6 [origin/b3] 完成第xxxx个功能 *master 664d35c [origin/master] 将要推送到远程仓库的修改

5.3.2、从远程仓库克隆

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

  • 命令:git clone <仓库路径> [本地目录]
    • 本地目录可以省略,会自动生成一个目录

示例终端操作:

zhang@zhangmeng MINGW64 ~/Desktop/git-test $ git clone https://gitee.com/czbk_zhang_meng/git_test.git 1-克隆远程仓库到本地 Cloning into 'git_test'... remote: Enumerating objects: 34, done. remote: Counting objects: 100% (34/34), done. remote: Compressing objects: 100% (28/28), done. remote: Total 34 (delta 13), reused 0 (delta 0) Unpacking objects: 100% (34/34), done. zhang@zhangmeng MINGW64 ~/Desktop/git-test $ ls git_test/ test01/

5.4 .获取远程仓库数据

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

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

    • 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
    • 如果不指定远端名称和分支名,则抓取所有分支。
  • 拉取命令git pull [remote name] [branch name]

    • 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
    • 如果不指定远端名称和分支名,则抓取所有并更新当前分支。

6.在idea中使用git

第一步打开设置:

第二步找到版本控制并找到其中的Git:

第三步正常安装的git会被自动识别可以点击test进行测试

之后点击确认。

第四步在你要上传的地方创建远程仓(gitee,github)

我使用的是gitee:

点击用户左边的加号会有一个下拉框,点击创建仓

之后输入仓的名字让后确认就可以别的不用管

第五步:在idea中打开一个项目

第六步:在项目中添加一个.gitignore文件

第七步:点击VCS中的创建git仓

点击绿色的对勾

选择你要提交的项目提交,提交过程中的报错idea编译是正常的点击任然提交就可以

让后选择git中的推送

要定义一个远端

返回远程仓选择ssh的地址

最后点击推送。远程仓就有了

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

Lucky Gold:2025年12月12日黄金关键事件汇总

今日凌晨&#xff0c;乌克兰无人机在里海实施袭击&#xff0c;目标为俄罗斯卢克石油公司的“菲拉诺夫斯基钻井平台”&#xff0c;致20余口井停产&#xff0c;该平台日产量约12万桶。乌方旨在持续削弱俄能源出口能力&#xff1b;据《华尔街日报》&#xff0c;特朗普的乌克兰和平…

作者头像 李华
网站建设 2026/1/15 11:58:49

UniBest跨端开发框架完整安装配置指南:从零开始构建多平台应用

UniBest跨端开发框架完整安装配置指南&#xff1a;从零开始构建多平台应用 【免费下载链接】unibest unibest - 最好用的 uniapp 开发框架。unibest 是由 uniapp Vue3 Ts Vite4 UnoCss UniUI 驱动的跨端快速启动模板&#xff0c;使用 VS Code 开发&#xff0c;具有代码提示…

作者头像 李华
网站建设 2026/1/12 19:31:51

如何完整解决Cursor试用限制问题:技术实现与操作指南

如何完整解决Cursor试用限制问题&#xff1a;技术实现与操作指南 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Youve reached your trial request limit. / Too many free trial accounts used on this machine. Please upgrade to pro. We h…

作者头像 李华
网站建设 2026/1/3 17:49:44

《零售业使用哪些集成软件实现全渠道零售?》

前言&#xff1a;传统零售的数字化拐点 在数字经济与消费升级的推动下&#xff0c;传统零售业正经历一场深刻的渠道融合变革。从"单一门店"到"全渠道零售"&#xff0c;企业不仅要在实体店、电商、社交平台等多渠道实现商品、库存、订单与会员数据的统一&am…

作者头像 李华