Git的使用
Git结构
在代码托管中心创建远程库:GitHub
初始化本地仓库
-
创建一个文件夹
记录其路径为filePath
-
打开Git终端
在Git中命令跟Linux命令一样
- Git --version-->查看Git版本
- clear-->清屏
- Git config --global user.name"userName"-->设置用户名
- Git config --global user.email "emailAddresss"-->设置邮箱
- 初始化仓库
- cd filePath-->进入仓库的根目录
- Git init-->初始化操作
Git常用命令
上传文件
-
add--》将文件提交到暂存区
-
Git add 'fileName'
-
git rm --cache fileName
移除暂存区文件
-
-
commit--》将暂存区内容提交到本地库
-
Git commit -m
"这是注释" 'fileName'
-
-
不放在本地仓库中的文件,Git是不进行管理
即使放在本地仓库中的文件,Git也不进行管理,必须通过add,commit命令提交得到本地库
查看提交状态
status命令---》查看文件是否已提交
-
全部提交
-
有文件未提交
-
已提交的文件修改后,需重新添加到暂存区
-
提交完后
查看日志
log命令--》查看文件上传日志
其从进到远开始展示
当历史记录过多的时候,查看日志的时候有分页的效果
下一页:点击空格
上一页:点击B键
尾页退出:点击Q键
日志展示其他方式
-
Git log -- > pretty=oneline
-
Git log --oneline
-
Git reflog
前进或后退版本
reset命令--》回退或前进版本
-
Git reset --hard "索引号"(常用)
本地库的指针移动的同时,重置暂存区,重置工作区
-
Git reset --mixed "索引号"
本地库的指针移动的同时,重置暂存区,但是工作区不动
-
Git reset --soft "索引号"
本地库移动是时候,暂存区和工作区都不动
比对文件的差异
diff--》比对暂存区和工作区内容的差异
- Git diff "fileName"
-
代表删除一行,+
代表添加一行
-
Git diff # 比较工作区和暂存区中所有文件的差异
-
Git diff {指针位置|索引号} "fileName"

分支
概念:在版本控制过程中,使用多条线同时推进多个任务。这里说的多条线,就是多个分支。
好处:同时多个分支可以并行开发,互相不耽误,互相不影响,提高开发效率;如果有分支功能开发失败,直接删除这个分支就可以了,不会对其他分支造成影响。
查看分支
-
Git branch -v
创建分支
- Git branch "branchName"

你在哪个分支上是通过
*
号来显示
切换分支
-
Git checkout "AimBranchName"
切换分支后其修改内容不与原分支同步

分支合并
merge命令--》分支合并

冲突问题
什么时候会出现冲突问题?在同一个文件的同一个位置修改

冲突后的内容为:

解决方法:
内部商议解决,或者自己决定,留下想要的内容,将留下的内容添加到暂存区:


远程协作
注册账号
GitHub注册GitHub账号
创建远程库


别名
远程库地址比较长,每次复制比较麻烦,一般通过别名连接
remote--》远程连接

查看别名
创建别名

删除别名

推送操作
push---》推送操作


克隆操作
clone--》克隆操作


克隆操作的好处
- 初始化本地库
- 将远程库内容完整的克隆到本地
- 替我们创建远程库的别名
拉取操作
pull--》拉取操作
相当于fetch操作和merge操作
先是抓取操作:
![]()
![]()
只是把文件抓取到本地,但是工作区并没有更新;可以先进入远程库,查看文件内容是否正确
![]()
然后进行合并
![]()
注意:要切换回本地库
pull操作直接下载:
![]()
冲突问题
在冲突的情况下,应该先拉取下来内容,然后再人工修改内容(该删的删,该留的留)
和上面的冲突问题的解决方式大致相同
跨团队合作
通过pull requests发送合并请求,同意后即可合并
SHH免密登录
-
进入用户的主目录中
cd ~
-
执行命令,生成一个.ssh主目录
ssh-keygen -t rsa -C 邮箱地址
keygen--> key generation
注意:C要大写
后面的邮箱,是GitHub注册的账号的时候对应的邮箱
三次默认回车确认就生成成功
然后就发现家目录里的.ssh下生成了三个文件
![]()
-
打开id_rsa.pub文件,将里面的内容进行复制操作
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCue6qIJ3RWmgcWVjFyZpzg0LA/Y8J1ZB5HCwtB/BA3LhJhdPiLOdpzlSMYNdXxhfTQ/yQH5Jd0UUe0hbtdrqxUQbrfrVzEkNNEslbZ831cnppUWp8nHul8RurE6yDXCN8r4VeR02k7Ad45OxYswwXMFZG4/MSGa6/EOhzdfjMR5ifMjuRTVcLvg78Xz2EipfrEYffhbDkTrKzLqet9uP4Sb5ur20yEuE5J7IVt6PrCvsXhoMyNhoqrsBtE8x5/AlEUd90vtzx0J0DKXsAtzuN4jXfR6fz1Xpu8O8A1JmD64e/6M1q7WkMwxziDGYii2EnzZ5K8iOMiSBW+FPAGK5SF5c2pXYm3whbBIGdkiEF82++Pn16zcjQ1mYSOvl9X0BX7LH1v744186pwNihdqJkwaRb8QZvtoE3KCl3c9Xv3w2IGQRejFaqGkr3Ena9PZ6XZp/+fpBsr+Xn39rDfSsu8CDXFk+EzJitCf3SklZyVn4n+FeMKD/lQf+Vpj9IM5js= 3500515050@qq.com
-
打开GitHub账号,找到
在key那里把id_rsa.pub文件的内容进行粘贴

- 生成密钥以后,就可以正常进行push操作了

IDEA集成Git
设置

初始化操作

添加暂存区

添加到本地库

当更改内容后会显示绿色

拉取数据
git pull origin master --allow-unrelated-histories

注意origin是别名
上传操作
git push -u git@github.com:liuzhongkun1/GitResp.git master -f

IDEA上传

本文来自博客园,作者:Kenny_LZK,转载请注明原文链接:https://www.cnblogs.com/liuzhongkun/p/15733543.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?