当前位置: 首页 > ai >正文

Git笔记

1,安装

1,如果存在,先卸载 

        先反安装,删掉环境变量配置,卸载(直接应用程序卸载即可)

2,安装

        下载方式

        官网:Git下载对应版本

        GitCode 镜像:提供了最新版本的 Git 安装包,适用于 Windows 64 位系统。

        Git-2.42.0.2-64-bit.exe

         Gitee 镜像:Gitee 提供了 Git for Windows 的镜像,不定期更新最新版本。
        Gitee Git for Windows 镜像        

直接一直下一步安装即可

3,验证

        cmd中输入git --version,显示版本即可

2,相关命令

常用linux命令

cd:改变目录

cd..:回退到上一级目录

pwd:显示当前所在目录路径

ls(ll):列出当前目录中所有文件,ll列出的更为详细

touch:新建一个文件,touch test.text,就会创建一个test文件

rm:删除一个文件 ,rm test.text

rm -r:删除一个文件加,rm -r src 删除src目录

mkdir:新建一个目录(文件夹)

mv:移动文件 ,mv test.txt src         test.txt是需要移动的文件,src是目标文件夹

reset:重新初始化终端/清屏

clear:清屏

history:查看历史命令

help:帮助

exit:退出

#:表示注释

常用git命令

# 配置查看git config -l   # 查看配置git config --system --list   # 查看系统配置,纯系统配置git config --global --list   # 查看本地配置

# 添加自己的配置$ git config --global user.name 用户名$ git config --global user.email 邮箱

Git/etc/getconfig:系统配置

自己去配置,会在C盘当前用户目录下有一个.gitconfig文件 

# 相关操作# 1,初始化git init    # 初始化项目 在当前目录新建一个Git代码库git clone url   # 克隆一个远程仓库到本地# 2,提交git add .    # 将当前目录所有文件放入暂存区     工作区--暂存区git add file1 file2  # 将文件放入暂存区          工作区--暂存区git commit -m    # 提交到本地仓库                      暂存区---仓库git push    # 推送到远程                          仓库--远程# 3,拉取git clone url   # 克隆git pull    # 拉取# 4,查看状态git status  # 查看所有文件状态  ()
# Untracked: 未跟踪, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
# Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
# Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !
# Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modifiedgit status fillename # 查看文件状态git log   # 显示当前分支的版本历史git log --stat # 显示commit历史,以及每次commit发生改变的文件git log -S [keyword]    # 搜索提交历史,可根据关键此git log --fllow [file]     # 显示某个文件的版本历史,包括文件改名git diff    # 显示暂存区和工作区的差异git diff --cached [file]  # 显示暂存区和上一个commit的差异# 5,分支git branch   # 列出所有本地分支git branch -r    # 列出所有远程分支git branch -a    # 列出所有本地和远程分支git branch [branch-name]    # 新建一个分支,但依然停留在当前分支git branch -d [branch-name]     # 删除分支git checkout -b [branch]  #  新建一个分支,并切换到该分支git checkout [branch-name] # 切换到指定分支,并更新工作区git checkout -   # 切换到上一个分支git merge [branch]    # 合并指定分支到当前分支# 6,远程同步git fetch [remote]  # 下载远程仓库所有变红git remote -v    # 显示所有远程仓库# 7,撤销git checkout  # 回复暂存区的制定文件到工作区

3,Git理论******

工作流程

1,再工作目录中添加,修改文件       xxx.java

2,将需要进行版本管理的文件放入暂存区域    git add file

3,将暂存区域的文件提交到git仓库 git commit

4,推送到远程   git push

因此,git管理文件就有三种状态:已修改(modified),已暂存(staged),已提交(committed)

工作区

workspace:工作区,就是平时存放代码的地方

index/stage:暂存区,用于临时存放你的改动,事实上他只是一个文件,保存即将提交到文件列表信息

repository:仓库区(本地仓库),就是安全存放数据的位置,这里有你提到的所有版本的数据,其中HEAD指向最新放入仓库的版本

remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

​ 

4,忽略文件

忽略一些临时文件等

在主目录下建立".gitignore"文件,此文件有如下规则:

  1. 忽略文件中的空行或以#开始的行将会被忽略。

  2. 可以使用Linux通配符。例如:*代表任意多个字符,?代表一个字符,方括号[abc]代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。

  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。

  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。

  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。

    #为注释
    *.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
    !lib.txt     #但lib.txt除外
    /temp        #仅忽略项目根目录下的TODO文件,不包括其它目录temp
    build/       #忽略build/目录下的所有文件
    doc/*.txt    #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

http://www.xdnf.cn/news/4523.html

相关文章:

  • 数据结构、刷leetcode返航版--二分【有序】5/7
  • HPDDM库使用指南与示例
  • 力扣刷题[特殊字符]
  • 力扣-hot100(旋转图像)
  • MCP系列(一)什么是MCP?
  • yolov8n-obb训练rknn模型
  • 解决二分类问题常用的模型以及优缺点和使用场景(二)
  • 重生之我在2024学Fine-tuning
  • 系统 Python 与 Conda 环境的灵活切换
  • 前端面经-VUE3篇(五)--内置组件
  • 【计算机架构】RISC(精简指令集计算机)架构
  • ABAP使用GET_TAX_PERCENTAGE 函数取税率
  • 手写 Vue 源码 === 完善依赖追踪与触发更新
  • FPGA 纯逻辑NVME raid0 IP核
  • 通配符 DNS 记录:应用场景与相关风险
  • SWiRL:数据合成、多步推理与工具使用
  • [吾爱出品][Windows] 产品销售管理系统2.0
  • Java UUID生成如何保证唯一性?深入解析与最佳实践
  • 【Redis】C++如何使用redis
  • java中ArrayList扩容机制的解析
  • 转换算子和行动算子的区别
  • 扩散模型(Diffusion Models)的革命性进展
  • 智算中心的搭建标准
  • Sat2Density论文详解——卫星-地面图像生成
  • @Transactional注解的使用
  • LangChain第三讲:大模型的输出如何格式化成字符串?
  • DIFY教程第五弹:科研论文翻译与SEO翻译应用
  • 简单的基于关键词匹配的 QA 系统示例
  • ICode国际青少年编程竞赛—Python—4级训练场—复杂嵌套循环
  • 多线程的出现解决了什么问题?深入解析多线程的核心价值