首页 > 其他分享 >git

git

时间:2023-11-29 22:24:10浏览次数:27  
标签:文件 git 删除 -- 命令 clean

git status

git status -s --ignored // 以简洁模式查看暂存区和工作区的文件(全部显示,不执行文件过滤)
git status -uno // 查看暂存区和工作区的非untrack(未跟踪)状态文件
git status -uall // 查看暂存区和工作区的状态文件(递归子目录显示出里面的文件)

查看log

显示log同时显示tag信息

git log --decorate=full

补丁生成diff和patch的使用

生成补丁

git diff > test.patch

应用补丁

检查patch/diff文件

git apply --stat xxx.patch

检查能否应用成功

git apply --check xxx.patch

打补丁

git apply xxx.patch

删除分支 branch命令的使用

删除本地分支

删除本地分支命令

git branch -d [local_branch_name]
  • git branch 是在本地删除分支的命令
  • -d 是一个标志,是命令的一个选项,它是--delete的别名。顾名思义,它表示你要删除某些内容。
  • local_branch_name 是要删除的分支的名称

删除远程分支

删除远程分支

git push remote_name -d [remote_branch_name]
  • 你可以使用git push命令删除远程分支,而不是使用用于本地分支的git branch命令。
  • 然后指定远程的名称,在大多数情况下是origin
  • -d是删除的标志,是--delete的别名。
  • remote_branch_name是你要删除的远程分支。

删除远程分支示例

查看远程分支

$ git branch -a
* main
  remotes/origin/HEAD -> origin/main
  remotes/origin/main
  remotes/origin/master

-a标志(--all的别名)显示所有分支--本地和远程
可以看出有两个远程分支origin/masterorigin/main
-r--remotes的别名,仅显示远程仓库

删除远程origin/master分支

$ git push origin -d master
To https://xxx.com/gituser/test.git
 - [deleted]         master

换行符问题

# 提交时 CRLF 转换为LF,检出时转换为CRLF
git config --global core.autocrlf true

# 提交时 CRLF 转换为LF,检出时不做任何的转换
git config --global core.autocrlf input

# 提交和检出均不做任何的转换
git config --global core.autocrlf false

git clean

1、 git clean 命令介绍

对于工作目录中一些工作或文件,你想做的也许不是stash存储,而是移除,即: 清理工作目录。

可以使用git clean 命令来处理这个问题。

git clean命令是用来从你的工作目录中,删除所有未被Git追踪过的文件。

git clean命令经常和git reset --hard命令一起结合使用。因为记住reset回退,只影响被追踪过的文件,所以需要clean命令,来删除没有track过的文件。

结合使用这两个命令,能让你的工作目录完全回滚到一个指定的commit状态。

2、git clean 命令用法

git clean -n:是一次git clean的演习,告诉你哪些文件会被删除。记住他不会真正的删除文件, 只是一个提醒。(也就是查看可使用git clean命令清除的文件)

使用--dry-run选项也可以。

在清理工作目录前,强烈建议使用-n参数,来先看看将会删掉哪些文件,防止重要文件被误删。

git clean -f:删除当前目录下所有没有被track的文件。他不会删除.gitignore文件里面指定的文件夹和文件,不管这些文件有没有被track过。

-f选项:表示着“强制(force)”或“确定要移除”,默认为true,如果需要修改,需要编辑Git 配置变量 clean.requireForce 参数。

git clean -f <path>:删除指定路径下的没有被track过的文件。

git clean -df:移除工作目录中所有未追踪的文件以及空的文件夹。

git clean -xf:删除当前目录下所有没有被track过的文件. 不管他是否是.gitignore文件里面指定的文件夹和文件。

3、总结

你需要谨慎地使用这个命令,因为它被设计为从工作目录中移除未被追踪的文件。如果你改变主意了,你也不一定能找回来那些文件的内容。

(删除了就找不回了,一定要慎用。但是如果被 git add 暂存过,就还能找回来。)

默认情况下,git clean 命令只会移除没有被忽略,且未被跟踪的文件。 任何与 .gitignore 或其他忽略文件中,所能模式匹配到的文件,都不会被移除。 如果你也想要移除那些文件,例如为了做一次完全干净的构建而移除所有由构建生成的 .o 文件, 可以给 git clean 命令增加一个 -x 选项。

使用选项-i参数(interactive),表示可以使用交互的模式运行 git clean 命令。在这种方式下可以分别地检查每一个文件,交互的指定删除的模式。

git 错误调试方法

git 开启错误调试模式

# on linux
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1

# on windows
set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1

# close config
unset GIT_TRACE_PACKET GIT_TRACE GIT_CURL_VERBOSE

标签:文件,git,删除,--,命令,clean
From: https://www.cnblogs.com/st17/p/17866044.html

相关文章

  • Gitee - 基于 Git 的代码托管和研发协作平台本地代码同步教程
    什么是Gitee?一、Gitee的发展史。Gitee(码云)是开源中国于2013年推出的基于Git的代码托管平台、企业级研发效能平台,提供中国本土化的代码托管服务。二、个人对Gitee的理解Gitee跟Git有什么区别,个人认为一个是国内、一个是国外,但是两个的目的都是一样的,都是为了方便彼此更好的代......
  • 极狐GitLab—新一代源代码管理仓库
    产品概述    极狐GitLab是一款具有软件开发全生命周期的DevOps能力的新一代源代码管理仓库,无缝集成代码托管、敏捷管理、CI/CD,从需求管理到应用上线能够形成数据的完整串联。极狐GitLab具有高可用可扩展的架构特点,可提供万人规模的架构行业实践参考和专业服务支持;提供专业......
  • 解决git status报错问题,以及git init初始化不成功问题
    VbenAdmin安装依赖时husky安装失败请查看你的源码是否从github直接下载的,直接下载是没有.git文件夹的,而husky需要依赖git才能安装。此时需使用gitinit初始化项目,再尝试重新安装即可。 在你要做的项目的文件夹中,空白区域右击鼠标,属性-安全-完全控制权限给允许......
  • FastGit 和 nvm 配合使用
    背景研究一个前端项目(itcase<苍穹外卖>)的时,发现node版本执行npminstall出现依赖下载失败等等问题解决办法1.启动FastGit2.安装nvm(node版本管理工具)##https://blog.csdn.net/muguli2008/article/details/107730766nvmlistavailable#百度下nvminstall12.2......
  • 快速解决Error: error:0308010C:digital envelope routines::unsupported的三种解决方
    问题描述:    报错:Error:error:0308010C:digitalenveloperoutines::unsupported报错原因:     因为node.jsV17版本中最近发布的OpenSSL3.0,而OpenSSL3.0对允许算法和密钥大小增加了严格的限制报错详细信息:解决方案: 方案1:打开IDEA终端,直接输入Linux&......
  • C#删除.git文件夹
    C#在通常情况下删除文件只需要调用下面的方法即可:Directory.Delete(dir.FullName,true);上面的代码会删除指定的文件夹及文件夹下面所有的子文件夹和文件。但是用上面的代码去删除.git文件夹的目录时,貌似会失败,报异常。具体的失败原因不是特别清楚,也没有去仔细钻研。可能的......
  • GitHub 添加 SSH key 详细步骤
    查看git上ConnectingtoGitHubwithSSH的文档后,解决方案如下:检查SSHkeys打开终端输入ls~/.ssh来查看SSHkeys是否存在.$ls-al~/.ssh#Liststhefilesinyour.sshdirectory,iftheyexist查看文件夹,是否你已经拥有一个publicSSHkey.通常GitHub......
  • gitlab推送新项目到新分支
    thefirststep: initgitrepositorygitinit gitadd.gitcommit-m"init"thesecondstep: addremoterepositorygitremoteaddorigin [email protected]:dpg/ui.git//urlthethirdstep:createnewbranchandswitchto gitcheckout-bal......
  • git中的常用命令
    一、初始化仓库初始化,将目录变成git可以管理的仓库gitinit二、仓库版本操作将文件放到仓库,可以多次add然后一次commitgitadd文件名gitcommit-m"描述"查看当前版本以前的提交历史,加上--pretty=oneline会让版本信息更简洁。(可以显示所有提交过的版本信息,包括版本号......
  • Gitops 基础
    CI/CD CI介绍CI是指持续集成,它属于开发人员的自动化流程。CD介绍CD指持续交付和持续部署,两者都事关Pipeline后续的自动化,但有时也会单独使用以评估自动化程度。CI/CD介绍CI/CD是一种在应用开发阶段引入自动化实现以较高频度向客户交付应用的方法。CI/CD阶段广为接受......