git/dvc笔记

打印 上一主题 下一主题

主题 1544|帖子 1544|积分 4632

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
git

HEAD

HEAD表示分支的最新提交节点
前一个提交版本:HEAD^ == HEAD~1 == HEAD~
前两个提交版本:HEAD^^ == HEAD~2
可以使用@作为HEAD的别名
<commit_id>

<commit_id>可以是以下格式:


  • 哈希值
  • <branch_name>/<branch_name>^/<branch_name>~2
  • HEAD/HEAD^/HEAD~1/@
  • 标签名
  • 引用路径<branch_name>@{n}和<branch_name>@{time}
git checkout



  • git checkout <commit_id> -- <file_path>:恢复或检出指定文件的内容
  • git checkout <commit_id>:检出特定的提交
  • git checkout -b <new_branch_name> <commit_id>:基于指定的提交创建一个新分支,并立即切换到这个新分支上
git reset

在执行了git commit后想要撤回最近这次(或多次)提交,则需要使用git commit。


  • git reset --soft:工作区和暂存区中的修改内容会保存,提交新的commit前需要将不需要的修改unstage
  • git reset/git reset --mixed:工作区中的修改内容会保存,但暂存区不会,需要手动将修改内容重新add到暂存区中
  • git reset --hard(很少用到):工作区和暂存区中的修改内容都会删掉,也就是被撤回commit中的修改全都不需要的情况下才使用
文件跟踪状态

仓库中的文件分为以下状态:


  • 未跟踪(Untracked)
  • 已跟踪(Tracked)

    • 未修改(Unmodified)
    • 已修改(Modified)
    • 已暂存(Staged)

暂存区(.git/index)记录着所有已跟踪文件各种信息:


  • 文件路径:文件在项目中的位置。
  • 文件的元数据:如文件的修改时间、权限等。
  • 文件内容的哈希值(blob 哈希):这是文件内容的唯一标识,用于检测文件是否发生变革。
git ls-files



  • git ls-files:列出所有已跟踪的文件
  • git ls-files --others:列出所有未跟踪的文件
  • git ls-files --ignored:列出所有被.gitignore忽略的文件
  • git ls-files --cached:列出暂存区(索引)中的文件
  • git ls-files --others --exclude-standard:列出所有未跟踪且不在.gitignore中的文件
git rm



  • git rm <file>:把文件从工作区和暂存区同时删除
  • git rm --cached <file>:把文件从暂存区中删除,但工作区中文件仍然保存
.gitignore

.gitignore对已跟踪文件没有作用,需要使用git rm来先将文件状态酿成未跟踪
.gitignore中以/末了的只对目录起作用,不以/末了的同时对文件和目录起作用
git diff



  • git diff:比较工作区与暂存区之间的差别(即查看尚未暂存的改动)
  • git diff --cached:比较暂存区与最新一次提交(HEAD)的差别
  • git diff HEAD:比较工作区与最新一次提交的差别
  • git diff <commit1> <commit2>:查看任意两个提交之间的文件内容差别
  • git diff <branch1> <branch2>:比较两个分支间的文件差别
首次使用git的必要配置

  1. git config --global user.name "Your Name"
  2. git config --global user.email "your.email@example.com"
  3. git config --global credential.helper cache
复制代码
dvc

dvc install

默认会增加以下hook:


  • .git/hooks/post-checkout:dvc checkout
  • .git/hooks/pre-commit:dvc status
  • .git/hooks/pre-push:dvc push
dvc status

无参数情况下,dvc status比较的是工作区和缓存区的文件差别
dvc diff

无参数情况下,dvc diff比较的是工作区和HEAD的差别
dvc config cache.type

默认情况下,cache.type为reflink,copy,但由于大部分文件系统中reflink不可用,所以实际上默认使用的是copy模式,

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

前进之路

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表