【Git】Git GUI的使用
在Git命令行一文中已经对Git的操作命令进行了简单的介绍,但是理论知识过于枯燥,使得初学者在Git的使用上还是会有很大的困难。虽然我更推荐使用Git Bash方式对Git进行操作,但是对于大部分只是想简单地使用一下Git进行版本控制和团队开发的朋友而言,可能仍然更加钟情于可视化界面。所以本文对Git官方自带的可视化工具Git Gui的使用进行介绍,尽量做到图文并茂,让所有初探Git的朋友都能够快速入门,使用Git进行项目开发。
1.在本地新建版本库
首先,我们打开Git GUI是这样的一个界面,选择第一项,新建版本库。

然后选择你需要进行版本管理的项目路径,我选择了一个LoginDemo的项目。

当你创建了版本库的时候,你可以在该项目的路径下看见多了一个.git文件夹(设置了隐藏文件不可见的话看不见)

在Git Gui中,如果Unstaged Changes(未缓存的改动)中包含文件,则先点击Stage Changed(stage,暂存区),将未缓存的改动加入缓存,再点击Commit;否则需要先点击Rescan扫描项目中进行过改动的文件。注:提交描述必须要填写,不然无法提交。

提交成功后,我们可以在Repository->Visualize All Branches History中看到我们提交的历史记录(这是提交到本地而不是提交到远程服务器)。至此,本地版本库就创建成功了。

2.将项目提交到远程
上一步已经使用Git在本地建立起了版本库,然后我们需要将该项目提交到远程服务器以便同事或其他合作者共同参与开发。一般的开源项目使用github作为远程服务器。其实在本地简历版本库后,只需要点击push就可以直接上传。但是我们还没有将本地的Git与github建立联系以及设置安全协议。
首先,我们需要在有一个自己的github帐户,然后在github上新建一个repository,名字也叫做LoginDemo(可以和本地项目名不一样)。

在Git Gui中,选择Remote->add添加远程服务器,远程服务器信息有两种填写方式,填写https地址或ssh地址,对应github项目的https和ssh地址,推荐使用ssh方式。
1.https地址
这种方式需要输入你的github帐户和密码,意味着通过这种方式你只能够操作自己的项目。

2.ssh地址
这种方式需要进行授权设置,在Git Gui的菜单栏,点击Help->Show SSH key->Generate SSH KEY创建密钥。

然后在github的Personal settings中添加它,title随意,可以用Home,company等作为标识来区别。

添加远程服务器信息。

接下来,我们便可以直接在Git Gui点击push提交至远程客户端,刷新一下github,便可以看到项目已经在repository中了。

3.从远程下载更新
设想多人参与项目开发,每个人都只push到远程,完全不顾其他成员的进度,这样的开发模式无疑是有问题的。我们最好的做法是,每次push到远程的时候,先从远程把目前进度fetch下来,在和自己目前项目进度merge后,再将它push到远程。打开Git Gui,在菜单栏中选择Remote->Fetch from->LoginTest,便可以从远程服务器更新到本地,但是尚未与自己当前项目合并。

4.合并解决冲突
从远程fetch后,选择Git Gui的Merge->Local Merge进行合并,选择Tracking Branch。

如果本地有一个方法名叫findUser,而远程服务器中该方法的名字改变了,例如变成了findPassword,则合并遇到冲突,可以右键空白部分选择保留本地版本或远程版本进行合并(图中绿色的代码表示冲突部分)。

5.克隆github上的项目到本地
在Git Gui的主界面选择克隆已有版本库。

Source Location即github中项目的地址,和第二部分(将项目提交到远程)中一样,可以选择https地址或ssh地址,Target Directory是在本地存放该项目的路径。点击Clone,成功从github将项目克隆到本地。


本文参考:https://blog.csdn.net/qq_34842671/article/details/70916587
【Git】Git GUI的使用的更多相关文章
- [git] git 的基本认知
版本管理 ( Version Control ) 版本管理系统是一个记录文件变更的系统,让你在一段时间后可以恢复指定版本的文件.版本管理系统大致可分为三类:独立的本地版本管理系统.中心化版本管理系统. ...
- Git Git管理码云项目
Git 一.下载安装 1. 要使用git 先安转git 请到官网下载最新git https://git-scm.com/downloads 2. 一路默认安装,安装完成右键查看下是否有Git. 二 ...
- error setting certificate verify locations: CAfile: E:/git/Git/mingw64/ssl/certs/ca-bundle.crt
一.问题: 当git clone项目时报 error setting certificate verify locations: CAfile: E:/git/Git/mingw64/ssl/cert ...
- [git]git 分支
什么动作,关键看你想完成什么 1. 添加新的远程分支: git push origin current_local_branch:new_remote_branch 2. 删除远程分支(冒号前必须要有 ...
- Git -> Can't start Git: git.exe
问题描述 导入别人的PyCharm项目后提示:Can't start Git:git.exe 解决办法 Git就是个类似插件,在Git的官网上注册个账号然后每次编译就会自动把程序上传到网上备份.可以方 ...
- GIt -- git push 远程分支老是需要重新输入公钥密码问题处理?
步骤: 先查看远程有哪些分支 删除远程分支,重新关联远程分支 最后再git push 到远程分支 git remote -v git remote rm RedisNote git remote a ...
- [git] git怎样fork一个repo
描述 我定制了一下strongswan的工程.然后想把我自己的定制变成一个repo push到远端git.tong.com与大家分享. 这个时候,应该怎么做? 如果你用过github的话.那么你可以理 ...
- [skill][git] git 常用操作记录
傻瓜入门: step by step : https://try.github.io/levels/1/challenges/1 一本书: https://git-scm.com/book/en/v2 ...
- [git]git project仓库迁移
转自:https://segmentfault.com/q/1010000000124379 如果你想从别的 Git 托管服务那里复制一份源代码到新的 Git 托管服务器上的话,可以通过以下步骤来操作 ...
- can't start Git: git.exe
can't start Git: git.exe :不能启动Git 这是因为Git的可执行文件的路径不正确,需要手动设置,. 找到设置Git的窗口 然后修改一下路径就行了 点击OK就可以了.
随机推荐
- 重温Go语法笔记 | 结构体
结构体 多个任意类型聚合成的复合类型 1.字段拥有自己的类型和值 2.字段名必须唯一 3.字段可以是结构体 结构体的定义是一种内存布局的描述 只有实例化才会真正分配内存,必须实例化之后才能使用结构体的 ...
- 前端(一)-Html
1.网页基本信息 <!DOCTYPE html> 浏览器使用的规范 <head> 网页头 <body> 主体部分 <meta> 元数据 meta的nam ...
- PDCA使用指南详解(史上最强)
PDCA循环,一个老话题了,大家都知道要这么做,但在平时的生活和工作当中,你是否真的都这样做呢? 当你发现你面对的困难重重,寸步难行时,是否反思过是因为自己一开始的方法就不正确? 本文包涵了PDCA循 ...
- [ARC 058 - E]Iroha and Haiku
传送门 解题步骤 首先可以发现题目范围非常小,尤其是\(X,Y,Z\),所以考虑类似状压.数位dp.双向搜索等算法. 官方题解中给的是数位dp,那我这里就讲讲状压了 对于\(N \leq 40\),很 ...
- 支持S3协议的S3cmd工具简单使用
本文分享自天翼云开发者社区<支持S3协议的S3cmd工具简单使用>,作者:付****健 一:安装方法 #wget http://nchc.dl.sourceforge.net/projec ...
- Git 忽略文件配置全解析
Git 忽略文件配置全解析 在Git版本控制系统中,.gitignore文件扮演着至关重要的角色.它允许我们指定哪些文件或目录应该被Git忽略,即不被纳入版本控制之中.这对于避免提交敏感信息.构建产物 ...
- Nim 从入门到实战
Nim Nim 是一个与其 1.0 版本相似的新颖且令人兴奋的命令式编程语言.我使用 Nim 是为了它的性能与优雅,这无疑让我感到了莫大的乐趣.在这篇文章中我将向您展示一个我写的 Nim 项目的全部流 ...
- 1分钟学会DeepSeek本地部署,小白也能搞定!
DeepSeek 是国内顶尖 AI 团队「深度求索」开发的多模态大模型,具备数学推理.代码生成等深度能力,堪称"AI界的六边形战士". DeepSeek 身上的标签有很多,其中最具 ...
- .NET最佳实践:避免滥用Task.Run
在 C# 中,Task.Run 是用来在后台线程中执行异步任务的一个常见方法. 它非常适用于需要并行处理的场景,但如果不加以谨慎使用,可能会导致额外的线程池调度,进而影响程序的性能. 什么是线程池? ...
- Q:oracle小于1的number,不显示小数点前的0?
oracle存储number类型数字 如果数字小于1 如0.35就会存储.35 省略掉前面的数字0 方法1: oracle 数据库字段值为小于1的小数时,转换到char类型处理,会丢失小数点前面的 ...