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

记录踩过的坑-Git

目录

将一个仓库的内容克隆到另一个仓库

如果目标仓库某分支已有内容,需要强行覆盖(不合并)

报错:Author identity unknown

Git Clone报错

Git 提交

Git命令克隆很慢

Git Bash命令

查看提交详情

克隆指定版本

Git Merge

Author和Commiter


将一个仓库的内容克隆到另一个仓库

如果要带git记录

# 克隆仓库 A 到本地 git clone https://gitee.com/your_username/repoA.git cd repoA # 进入仓库目录 git remote remove origin # 移除原仓库 A 的远程地址 # 添加仓库 B 的远程地址 git remote add origin https://gitee.com/your_username/repoB.git git push -u origin --all # 推送所有分支 git push -u origin --tags # 如果需要推送标签

如果不需要git记录,当全新仓库来构建

# 克隆仓库 A 到本地 git clone https://gitee.com/your_username/repoA.git cd repoA # 删除 .git 文件夹(移除 Git 历史) rm -rf .git # Linux/macOS del .git # Windows(在 CMD 中) cd ../repoB # 假设仓库 B 已存在 cp -r ../repoA/* . # 复制文件(Linux/macOS) # 或手动复制文件(Windows) git add . git commit -m "Initial commit from repoA" git push origin master # 取决于默认分支名

如果目标仓库某分支已有内容,需要强行覆盖(不合并)

git push -f origin master:master # 将本地 master 分支强制覆盖到远程的 master 分支

报错:Author identity unknown

Git 配置中没有设置user.nameuser.email。Git 要求每次提交(commit)都必须记录作者信息(姓名和邮箱),否则会报错。

git config --global user.name "Your Name" # 设置全局用户名 git config --global user.email "your@email.com" # 设置全局邮箱

Git Clone报错

Error downloading object: xxx: Smudge error: Error downloading xxx: LFS: Get "http://localhost:3000/xxx: dial tcp [::1]:3000: connect: connection refused

服务器上部署了git。

本地向服务器请求。

原因:服务器配置文件中用的是localhost

改成服务器ip就可以了

Git 提交

且到需要提交的目录

git add .

git commit -m

git push

Git命令克隆很慢

原命令:git clone -b r1.13.0 https://github.com/tensorflow/models.git

现在替换为:git clone -b r1.13.0 https://github.com.cnpmjs.org/tensorflow/models.git

也就是把原 URL 中的 github.com 替换为 github.com.cnpmjs.org,其余保持不变。

Git Bash命令

1)、cd : 改变目录。

2)、cd . . 回退到上一个目录,直接cd进入默认目录

3)、pwd : 显示当前所在的目录路径。

4)、ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。

5)、touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。

6)、rm: 删除一个文件, rm index.js 就会把index.js文件删除。

7)、mkdir: 新建一个目录,就是新建一个文件夹。

8)、rm -r : 删除一个文件夹, rm -r src 删除src目录, 好像不能用通配符。

9)、mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。

10)、reset 重新初始化终端/清屏。

11)、clear 清屏。

12)、history 查看命令历史。

13)、help 帮助。

14)、exit 退出。

15)、#表示注释

git remote:查看远程库信息

git remote -v:远程库详细信息

git branch -r , git branch -a 查看远程分支

git push 将当前分支推送到远程对应的分支(若远程无对应分支,则推送无效)

git push origin dev 将分支dev提交到远程origin/dev(远程没有则创建, 远程没有dev则创建)

git branch –set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联

git checkout -b dev origin/dev 创建远程的origin/dev分支到本地

查看提交详情

git log --stat

查看提交记录

git show

查看最新的commit

git show commitId

查看指定commit hashID的所有修改

git show commitId fileName

查看某次commit中具体某个文件的修改

克隆指定版本

git clone --branch [tags标签] [git地址] 或者 git clone --b [tags标签] [git地址]

例子

git clone -b 1.4.1 https://github.com/jumpserver/coco.git

Git Merge

在git-merge命令中,有以下三种使用参数:

  • git merge [-n] [--stat] [--no-commit] [--squash] [--[no-]edit] [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]] [--[no-]rerere-autoupdate] [-m <msg>] [<commit>...]

  • git merge <msg> HEAD <commit>...

  • git merge --abort

git-merge命令是用于从指定的commit(s)合并到当前分支的操作。

注:这里的指定commit(s)是指从这些历史commit节点开始,一直到当前分开的时候。

git-merge命令有以下两种用途:

  1. 用于git-pull中,来整合另一代码仓库中的变化(即:git pull = git fetch + git merge)

  1. 用于从一个分支到另一个分支的合并

假设下面的历史节点存在,并且当前所在的分支为“master”:

编辑

那么git merge topic命令将会把在master分支上二者共同的节点(E节点)之后分离的节点(即topic分支的A B C节点)重现在master分支上,直到topic分支当前的commit节点(C节点),并位于master分支的顶部。并且沿着master分支和topic分支创建一个记录合并结果的新节点,该节点带有用户描述合并变化的信息。

即下图中的H节点,C节点和G节点都是H节点的父节点。

编辑

Author和Commiter

首先从单词上我们可以看出,author是作者的意思,而committer是提交者的意思。通过字面意思我们大致可以理解为:author是代码的编写者,而committer是代码的提交者。

作者是最初编写代码的人。另一方面,提交者被假定为代表原始作者提交代码的人。这在Git中很重要,因为Git允许您重写历史,或者代表其他人应用补丁。免费的在线Pro Git书这样解释:

您可能想知道作者和提交者之间有什么区别。作者是最初编写补丁的人,而提交者是最后应用补丁的人。所以,如果你向一个项目发送了一个补丁,而其中一个核心成员应用了这个补丁,那么你们两个都会得到信任——你是作者,核心成员是提交者。

http://www.jsqmd.com/news/738449/

相关文章:

  • Mem Reduct中文界面设置终极指南:5分钟让内存清理工具说中文
  • Vin象棋:用AI视觉技术开启中国象棋智能对弈新时代
  • Photon-GAMS:基于物理渲染的光影引擎技术革命与Minecraft视觉体验的范式转变
  • 信奥赛CSP-J复赛集训(bfs专题)(5):路障
  • 从暴力匹配到BM算法:一个让Python的`find()`更高效的思路(附代码对比)
  • 3步搭建Obsidian知识库:用Zettelkasten模板实现高效知识管理
  • 终极指南:如何快速修复Windows软件运行环境,告别DLL缺失错误
  • Go语言打造ChatGPT命令行工具:终端AI助手集成与实战指南
  • CVPR2023开源项目实测:这个VIO初始化方案,让我的机器人启动快了8倍
  • 创业团队如何利用 Taotoken 统一管理多个项目的大模型调用
  • 别再只盯着压力表了!用分布式光纤给油气管道做个‘CT’,50公里泄漏点10米内精准定位
  • 别再用老方法点灯了!手把手教你用DSP28335的GPIO寄存器精准控制LED(附滤波电路详解)
  • AI绘画技能库构建:基于女娲模型的提示词工程实践
  • 基于LoRA与PPO的大语言模型高效对齐实战指南
  • research_tao实战教程:本科生如何开启NLP科研训练之路
  • 项目经理的‘健康仪表盘’:如何用EV、CPI、TCPI等指标,像看体检报告一样诊断项目风险与绩效?
  • 别再死记公式了!用Python手把手带你复现朴素贝叶斯垃圾邮件分类器(附完整代码)
  • 仅限三甲医院与械企CTO可见:医疗数据采集C代码性能天花板测算模型(基于TI MSP432E401Y实测基准库V2.3.1)
  • 终极指南:gradient-checkpointing常见问题与解决方案从入门到精通
  • 2026年苏州财税服务公司最新推荐:苏州财务顾问、苏州代理记账、苏州工商注册、苏州工商注销公司,以专业化服务适配企业全周期需求 - 海棠依旧大
  • 抖音无水印下载终极指南:3分钟掌握免费高清视频保存技巧
  • 嵌入式学习笔记——PWM与输入捕获(上)
  • STM32 HAL库串口DMA发送卡死?别慌,三步排查搞定HAL_UART_Transmit_DMA只能发一次
  • 利用快马平台十分钟复现Hermes Agent官网核心代理演示
  • 外卖订单自动化采集完整指南:如何轻松管理三大平台订单数据
  • 2026年TSP厂界粉尘监测技术原理与实力厂家选型指南:涵盖知名品牌、源头企业及用户口碑的综合分析 - 品牌推荐大师1
  • AI图像生成中的提示工程与美学评估技术解析
  • TSN端口配置失效的终极归因分析:基于eBPF+C语言双视角追踪(含Wireshark TSN解码插件配置包)
  • Fusio高级功能探索:GraphQL、JsonRPC与MCP集成实战
  • CompressO终极指南:5分钟掌握免费高效的视频图片压缩技巧