Git的使用

Git结构

git add
git commit
push
pull\clone
fork
pull request>审核>merge
pull
push
工作区
暂存区
本地库
远程库B`程序员`
远程库A`项目经理`

在代码托管中心创建远程库:GitHub

初始化本地仓库

  1. 创建一个文件夹

    记录其路径为filePath

  2. 打开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'

      image-20211226094153615

    • git rm --cache fileName移除暂存区文件

  • commit--》将暂存区内容提交到本地库

    • Git commit -m "这是注释" 'fileName'

      image-20211226094359286

  • 不放在本地仓库中的文件,Git是不进行管理

    即使放在本地仓库中的文件,Git也不进行管理,必须通过add,commit命令提交得到本地库

查看提交状态

status命令---》查看文件是否已提交

  • 全部提交

    image-20211226095144978

  • 有文件未提交

    image-20211226095306924

  • 已提交的文件修改后,需重新添加到暂存区

    image-20211226095448418

  • 提交完后

    image-20211226095750476

查看日志

log命令--》查看文件上传日志

image-20211226100518542

其从进到远开始展示

当历史记录过多的时候,查看日志的时候有分页的效果

下一页:点击空格

上一页:点击B键

尾页退出:点击Q键

日志展示其他方式

  • Git log -- > pretty=oneline

    image-20211226101122078

  • Git log --oneline

    image-20211226101223453

  • Git reflog

    image-20211226101443656

前进或后退版本

reset命令--》回退或前进版本

  • Git reset --hard "索引号"(常用)

    本地库的指针移动的同时,重置暂存区,重置工作区

image-20211226102153616

  • Git reset --mixed "索引号"

    本地库的指针移动的同时,重置暂存区,但是工作区不动

  • Git reset --soft "索引号"

    本地库移动是时候,暂存区工作区都不动

比对文件的差异

diff--》比对暂存区和工作区内容的差异

  • Git diff "fileName"

image-20211226104807553

-代表删除一行,+代表添加一行

  • 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免密登录

  1. 进入用户的主目录中

    cd ~

  2. 执行命令,生成一个.ssh主目录

    ssh-keygen -t rsa -C 邮箱地址

image-20211226162045783

keygen--> key generation

注意:C要大写

​ 后面的邮箱,是GitHub注册的账号的时候对应的邮箱

​ 三次默认回车确认就生成成功

然后就发现家目录里的.ssh下生成了三个文件

  1. 打开id_rsa.pub文件,将里面的内容进行复制操作

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCue6qIJ3RWmgcWVjFyZpzg0LA/Y8J1ZB5HCwtB/BA3LhJhdPiLOdpzlSMYNdXxhfTQ/yQH5Jd0UUe0hbtdrqxUQbrfrVzEkNNEslbZ831cnppUWp8nHul8RurE6yDXCN8r4VeR02k7Ad45OxYswwXMFZG4/MSGa6/EOhzdfjMR5ifMjuRTVcLvg78Xz2EipfrEYffhbDkTrKzLqet9uP4Sb5ur20yEuE5J7IVt6PrCvsXhoMyNhoqrsBtE8x5/AlEUd90vtzx0J0DKXsAtzuN4jXfR6fz1Xpu8O8A1JmD64e/6M1q7WkMwxziDGYii2EnzZ5K8iOMiSBW+FPAGK5SF5c2pXYm3whbBIGdkiEF82++Pn16zcjQ1mYSOvl9X0BX7LH1v744186pwNihdqJkwaRb8QZvtoE3KCl3c9Xv3w2IGQRejFaqGkr3Ena9PZ6XZp/+fpBsr+Xn39rDfSsu8CDXFk+EzJitCf3SklZyVn4n+FeMKD/lQf+Vpj9IM5js= 3500515050@qq.com

  2. 打开GitHub账号,找到

在key那里把id_rsa.pub文件的内容进行粘贴

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

IDEA集成Git

设置

初始化操作

添加暂存区

添加到本地库

当更改内容后会显示绿色

拉取数据

git pull origin master --allow-unrelated-histories

注意origin是别名

上传操作

git push -u git@github.com:liuzhongkun1/GitResp.git master -f

IDEA上传

posted @   Kenny_LZK  阅读(77)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示