首页 > 其他分享 >git命令

git命令

时间:2023-09-17 10:57:45浏览次数:56  
标签:origin 文件 git -- 命令 objects 分支

git命令

配置ssh

ssh-keygen -t rsa -b 4096 -C "****@****.****"

添加远程仓库

git remote add origin [email protected]:seamong/gitbook
git push -u origin master

本地创建远程分支

git push origin <本地分支>:<远程分支>

本地删除远程分支

git push origin :<远程分支>

本地分支绑定远程分支

git branch --set-upstream-to=origin/<远程分支> <本地分支>

创建本地分支

git checkout -b <本地分支>

删除本地分支

git branch -D <本地分支>

添加远程仓库

git remote add origin https://github.com/**/**.git
git push -u origin master

回退一次版本(强制)

git reset --hard HEAD^

提交代码出现错误时,解决办法

git add .
# 订单以及地址样式修改
git commit -m ""  //[test 4dffb5e] index
git push origin test

强制更新

git pull -f origin test  //该命令  无视本地文件修改.直接将远程仓库的代码覆盖本地文件

删除历史记录中文件

原文

寻找大文件的ID

git rev-list --objects --all\
 | grep "$(git verify-pack -v .git/objects/pack/*.idx\
  | sort -k 3 -n | tail -5 | awk '{print$1}')"
$ git rev-list --objects --all\
 | grep "$(git verify-pack -v .git/objects/pack/*.idx\
  | sort -k 3 -n | tail -5 | awk '{print$1}')"
f846f156d16f74243b67e3dabec58a3128744352
4a1546e732b2e2a352b7bf220c1a22ad859abf89
f72d04efe6d0b41b067f9fbbc62455f28d3670d2
49bdf300ddf57d1946bc9c6570d94a38ac9d6a50
9c073d4177af5d2e43ada41f92efb18d9462a536

文件名与ID映射

$ git rev-list --objects --all
c252878ac09a3979a80520b82a71dc2dae4529f9
7bc7d05c6097063f531580ba4c32921464a6c456 _drafts
dcce26ed53fbb869dc7d5b71742d2f9e523bfe42 _layouts
414186c794a0d58695abb75c548bdbfec1de2763 _layouts/default.html
1934eeffe3d242375510dff28cffa6de6b3de367 _layouts/post.html
5f14647875f2177a6d37b8bfbcdb4629af595b64 _posts
6cdbb293d453ced07e6a07e0aa6e580e6a5538f4 _posts/2013-10-12-2.md

得到文件名列表

$ git rev-list --objects --all\
 | grep "$(git verify-pack -v .git/objects/pack/*.idx\
  | sort -k 3 -n | tail -5 | awk '{print$1}')"
f846f156d16f74243b67e3dabec58a3128744352 assets/img/recent-badge.psd
4a1546e732b2e2a352b7bf220c1a22ad859abf89 assets/img/album/me/IMG_0276.JPG
f72d04efe6d0b41b067f9fbbc62455f28d3670d2 assets/img/album/me/IMG_0389.JPG
49bdf300ddf57d1946bc9c6570d94a38ac9d6a50 assets/img/album/me/IMG_0813.JPG
9c073d4177af5d2e43ada41f92efb18d9462a536 assets/img/album/me/IMG_0891.JPG

删除所有大文件

git filter-branch -f --prune-empty --index-filter\
 "git rm -rf --cached --ignore-unmatch `[需要删除的文件的相对路径+文件名]`"\
  --tag-name-filter cat -- --all

同步远程仓库

git push origin --force --all

or

删除指定文件

# 语法
git filter-branch --force --index-filter\
 'git rm -rf --cached --ignore-unmatch [需要删除的文件的相对路径+文件名]'\
  --prune-empty --tag-name-filter cat -- --all
# 实例
git filter-branch --force --index-filter\
 'git rm -rf --cached --ignore-unmatch seaver/input.txt'\
  --prune-empty --tag-name-filter cat -- --all

同步远程仓库

git push origin master --force\
 && rm -rf .git/refs/original/\
  && git reflog expire --expire=now --all\
   && git gc --prune=now

创建新的分支,并推送到远程分支

通过一个示例来展示这个步骤:

以下内容取自chengweiyangGitBook 简明教程,我也做了一些调整和注释.

创建 gh-pages 分支

执行如下命令来创建分支,并且删除不需要的文件:

# 下面这段命令中`--orphan`指创建一个没有任何提交历史的分支
$ git checkout --orphan gh-pages
# 在暂存区或分支中,删除当前目录中的所有文件,并在本地文件系统中保留这些文件
$ git rm --cached -r .
# -f表示文件-d表示目录 ,清理`workspace`中未被`git`版本控制的文件
$ git clean -df

现在,目录下应该只剩下 _book 目录了,首先,忽略一些文件:

# 创建`.gitignore`文件,并写入`*~`
$ echo "*~" > .gitignore
# 在`.gitignore`中添加`_book`
$ echo "_book" >> .gitignore
# 将`.gitignore`文件添加到暂存区中,并对其做出跟踪
$ git add .gitignore
# 通过`commit`创建一个当前分支的一个快照(新最追踪的文件和做了修改的文件),
# 并给这个快照按照一定的格式或者是`angular`的规范,添加注释.
$ git commit -m "Ignore some files"

然后,加入 _book 下的内容到分支中:

# 使用命令移动`_book`目录中的所有文件和文件夹 到当前目录中
$ cp -r _book/* .
# 将当前目录中的所有文件和文件夹都存到暂存区中
$ git add .
# 创建分支快照
$ git commit -m "Publish book"

上传书籍内容到 GitHub

现在,可以将编译好的书籍内容上传到 GitHub 中 test 项目的 gh-pages 分支了,虽然这里还没有创建分支,上传和创建会一步完成!

# `-u`给当前分支指定默认主机.`push`:将本地分支的更新,推送到远程主机。
$ git push -u origin gh-pages
Counting objects: 49, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (45/45), done.
Writing objects: 100% (49/49), 1.34 MiB | 131.00 KiB/s, done.
Total 49 (delta 5), reused 0 (delta 0)
To https://github.com/USERNAME/REPO.git
 * [new branch]      gh-pages -> gh-pages
Branch gh-pages set up to track remote branch gh-pages from github.

标签:origin,文件,git,--,命令,objects,分支
From: https://www.cnblogs.com/honghaitao/p/17707928.html

相关文章

  • npm_npm install 命令中-S与-D尾缀的区别
    -P,--save-prod:包将出现在你的dependencies中。这是默认值,除非存在-D或-O。-D,--save-dev:包将出现在你的devDependencies中。package.json中dependencies与devDependencies区别dependencies生产环境依赖,也就是执行npmrunbuild打包命令后,依赖会被打包到生......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • git 错误
    git代码太大了导致下载失败:fatal:earlyEOFfatal:fetch-pack:invalidindex-packoutput gitclone--depth=1要克隆的git地址  git推送超过100M文件:#方法一:全局配置gitconfig--globalhttp.postBuffer524288000或者#方法二:当前仓库配置gitconfighttp.post......
  • Maven2 的常用命令
    http://bakcom.iteye.com/blog/280604Maven2的运行命令为:mvnusage:mvn[options][<goal(s)>][<phase(s)>]Options: -am,--also-make                       Ifprojectlistisspecified,also                        ......
  • linux-搜索命令
    1、find[搜索范围][搜索条件]如:   1)find/-nameinstall.log   从根目录开始搜索搜索install.log文件   2)find/root-name"*[cd]"   从/root目录开始搜索搜索以c或者d结尾的文件 2、grep[选项]字符串文件名   字符串搜索命令grep......
  • Bat常用命令
    cd 切换路径dir 显示当前目录内容echo显示此命令后的字符串(默认会将执行命令回显在命令行。)脚本:echodir执行结果:>echodirdirechooff取消此命令后地所有执行命令在命令行回显。 脚本:echooffecho------执行结果:>echooff------@取消此命令在命令行回......
  • GitHub 上的开源项目贡献流程具体操作流程
    一般的GitHub上的贡献流程,包括创建fork、克隆、修改、提交、创建PullRequest的详细步骤:创建Fork:访问你要贡献的项目的GitHub页面,点击右上角的"Fork"按钮,这会在你的GitHub账户下创建该项目的副本。克隆项目:打开你的终端(命令行界面)并执行以下命令,将fork的项......
  • 《安富莱嵌入式周报》第307期:开源智能制冷板,Keil MDK6发布时间,编程助手Github Copilot
     视频版:https://www.bilibili.com/video/BV1fV4y1X7sk 1、KeilMDK6最终定于2023年末发布https://www.keil.com/pr/article/1302.htmMDK6的发布消息最终尘埃落定,定于2023年末发布。相比现在的MDK,主要是集成了功能安全库及其编译器,KeilStudio桌面版,跨平台支持。2、开源智能冷却板......