GIT 实用命令速记

Refer:  git的一些使用_git config --local core.excludesfile-CSDN博客

Git使用教程_git checkout -t-CSDN博客

Refer:Git使用教程-CSDN博客

一、忽略文件或文件夹.gitignore

//如果没有.gitignore文件
$ touch .git/.gitignore      //touch .gitignore
$ git config --local core.excludesfile .git/.gitignore    //git config --local core.excludesfile  .gitignore
$ vim .git/.gitignore         //vim .gitignore

.gitignore文件,中忽略  /PC-CU.si4project/ 文件夹:

/PC-CU.si4project/

本地配置文件.git\config修改为:

[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true
	excludesfile = .git/.gitignore
[remote "origin"]
	url = http://10.20.0.109:8000/gitlab-instance-f256eb7f/hmtc-su.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
	remote = origin
	merge = refs/heads/main

二、子模块

Refer:Git必备命令-子模块 (qq.com)

2.1 首次拉取带子仓库的代码方法

方法一:仓库一起(整体)拉取:

git clone --recurse-submodules  <父仓库地址>

方法二:分开拉取

git clone <父仓库地址>

git submodule init // 初始化子模块
git submodule update // 更新子模块与主仓库中的子模块代码同步
// or
git submodule update --init
// or 嵌套的(子仓库中包含子仓库)
git submodule update --init --recursive

2.2 在主仓库更改子仓库代码并提交方法:

三、分支

3.1 创建空分支

创建空分支的方法有多种,以下是几种不同的实现方法:

方法一:

  1. 使用命令行进入项目目录。

  2. 执行命令:git checkout --orphan <branch_name>,其中是你要创建的空分支的名称。

方法二:

  1. 使用命令行进入项目目录。

  2. 执行命令:git branch <branch_name>,其中是你要创建的空分支的名称。

  3. 执行命令:git checkout <branch_name>

方法三:

  1. 使用命令行进入项目目录。

  2. 执行命令:git checkout --orphan <branch_name>,其中是你要创建的空分支的名称。

  3. 执行命令:git rm -rf .,删除所有文件。

  4. 创建一个空白文件:touch README.md(可以根据需求创建其他必要的文件)。

  5. 执行命令:git add .,将新创建的文件添加到空分支中。

  6. 执行命令:git commit -m "Create empty branch",提交更改。

  7.  提交远端: git push --set-upstream origin <branch_name>

以上是几种不同的方法来创建一个空分支,你可以根据自己的需求选择其中一种方法来完成创建。

提示:

3.2 修改分支名称

git checkout -t origin/old   //本地切换到远程待重命名分支
git branch -m old new        //先修改本地分支重命名
git push origin  :old        //删除远程分支
git push origin  new:new     //将本地分支推送到远程分支上,如果远程分支不存在,则创建此远程分支

附录A: 常见问题

Github上clone项目的时候会出现:error: RPC failed; curl 28 OpenSSL SSL_read: Connection was reset, errno 10053/10054
解决办法:git config --global http.sslVerify "false", 同时把网址的.git后缀删除。

Administrator@DESKTOP-MUPIBUO MINGW64 /e/workForGit
$ git config --global http.sslVerify "false"

Administrator@DESKTOP-MUPIBUO MINGW64 /e/workForGit
$ git clone --recurse-submodules  https://github.com/CommunityToolkit/MVVM-Samples.git
Cloning into 'MVVM-Samples'...

附录B: 删除Git的历史记录

删除Git的历史记录是一项敏感且危险的操作,因为它会对仓库的完整性和版本控制产生影响。在Git中,删除历史记录有多种方法,包括使用rebase命令、reset命令、filter-branch命令等。下面将详细介绍这些方法的操作流程和注意事项。

方法一:使用rebase命令删除历史记录

1. 首先,使用git log命令查看当前分支的提交历史,并找到你想要删除的提交记录的哈希值。

2. 在删除历史记录之前,建议先创建一个新的分支来保存当前的提交历史。可以使用以下命令创建一个新的分支:
“`
git checkout -b backup_branch
“`

3. 接下来,使用以下命令执行交互式rebase:
“`
git rebase -i
“`
其中,是你想要删除的提交记录的哈希值。

4. 会弹出一个文本编辑器,列出了包含你要删除的提交记录的所有提交。在编辑器中,将要删除的提交前面的”pick”关键字修改为”drop”,然后保存并关闭编辑器。

5. Git将会按照你指定的顺序重新应用提交历史,并将你选择删除的提交记录从历史中排除,从而实现删除历史记录的目的。

6. 完成rebase后,可以使用git log命令再次查看提交历史,确认已成功删除历史记录。

7. 最后,将删除历史记录的分支推送到远程仓库,可以使用git push命令:
“`
git push origin branch_name –force
“`
注意:使用–force选项强制推送,因为已经修改了历史记录。

方法二:使用reset命令删除历史记录

1. 使用git log命令找到你想要删除的提交记录的哈希值。

2. 在删除历史记录之前,同样建议创建一个新的分支来保存当前的提交历史,可以使用以下命令:
“`
git checkout -b backup_branch
“`

3. 接下来,使用以下命令来执行reset操作:
“`
git reset –hard
“`
其中,是你想要删除的提交记录的哈希值。

4. Git会将HEAD指针和当前分支的指针重置到你指定的提交记录,从而删除之后的提交记录。

5. 完成reset后,可以使用git log命令再次查看提交历史,确认已成功删除历史记录。

6. 最后,将删除历史记录的分支推送到远程仓库,使用git push命令:
“`
git push origin branch_name –force
“`

方法三:使用filter-branch命令删除历史记录

注意:filter-branch命令是一项功能强大但也危险的操作,请在执行之前备份你的仓库。

1. 在使用filter-branch命令之前,同样建议创建一个新的分支来保存当前的提交历史。

2. 执行以下命令来运行filter-branch:
“`
git filter-branch –force –index-filter ‘git rm –cached –ignore-unmatch ‘ –prune-empty –tag-name-filter cat — –all
“`
其中,是你想要删除的文件名。

注意:上述命令将删除所有提交历史中与指定文件相关的记录。

3. 等待命令执行完成后,Git会对所有的提交进行重写,从而删除了指定文件的提交历史。

4. 完成filter-branch后,可以使用git log命令再次查看提交历史,确认已成功删除历史记录。

5. 最后,将删除历史记录的分支推送到远程仓库,使用git push命令:
“`
git push origin branch_name –force
“`

总结:

使用rebase、reset或filter-branch命令可以删除Git的历史记录。然而,这些操作都是不可逆的,而且会对其他人的工作产生影响,请谨慎操作,并在执行之前备份你的仓库。在实际操作过程中,建议先创建一个新的分支来保存当前的提交历史,以便在需要时可以进行恢复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值