Git 学习笔记(1)

告别代码恐惧!用KRobot图形化编程,10分钟搞定Arduino巡线小车(附完整接线图) 本文介绍如何使用KRobot图形化编程工具快速搭建Arduino巡线小车,无需编写代码。从硬件准备到逻辑构建,详细讲解传感器数据处理、电机控制优化及高级功能扩展,帮助教育工作者和创客爱好者10分钟内完成项目。 阅读详情

Git 学习笔记(1)

@([12] git)

原文链接:http://blog.youkuaiyun.com/TJUT_shadow/article/details/77530637

创建版本库

  • 在当前目录新建一个Git代码库:git init
  • 新建一个目录,将其初始化为Git代码库: git init [project-name]
  • 下载一个项目和它的整个代码历史:git clone [url]
    git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快

增/删文件

  • 添加指定文件到缓存区:git add<file>
  • 添加指定目录到缓存区: git add [dir]
  • 改名文件,并且将这个改名放入暂存区:git mv [file-original] [file-renamed]

- 添加当前目录的所有文件到暂存区:git add

代码提交

  • 提交缓存区修改到仓库区:git commit -m "message"
  • 提交缓存区指定文件到仓库区:git commit <file> -m "message"
  • 提交工作区自上次commit之后的变化,直接到仓库区:git commit -a

分支管理

  • 查看分支:git branch
  • 创建分支 : git branch <name>
  • 切换分支 :git checkout <name>
  • 创建+切换分支:git checkout -b <name>
  • 合并某分支到当前分支:git merge <name>
  • 删除分支:git branch -d <name>
Bug分支
  • 隐藏当前工作现场:git stash
  • 回到工作现场:git stash pop 恢复时把stash内容也删除了
  • 查看隐藏现场列表:git stash list
  • 回到指定工作现场:git stash apply stash@{编号}恢复后stash内容并不删除,需要git stash drop来删除除,需要git stash drop来删除
  • 删除stash内容:git stash drop
Feature 分支

新的开发功能最好新建一个分支,在开发完成后再合并到主分支上。
如果需要丢弃一个没有被合并过的分支,需要强行删除分支

  • 强行删除分支:git branch -D <name>
分支策略
  1. master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
  2. dev是干活的分支,大家从自己的分支时不时的向dev分支上合并
    git merge --no-ff -m"merger with no-ff" dev 合并分支时加上 --no-ff 参数就可以用普通模式合并,合并后的历史有分支,能够看出来曾经做过合并。fast forward合并无法看出曾经做过合并。

本地新建的分支如果不推送到远程,对其他人就是不可见的。

哪些分支需要推送
  • master分支是主分支,因此需要时刻与远程同步
  • dev分支是开发分支,团队所有成员都需要在上面工作,所以需要与远程同步
  • bug分支用于在本地修复bug,没必要推送远
  • feature分支是否推到远程,取决于与你合作的是否在上面开发
多人协作的工作模式
  1. 首先,可以试图用git push origin branch-name推送自己的修改

    1. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
    2. 如果合并有冲突,则解决冲突,并在本地提交
    3. 没有冲突或者解决掉冲突后,再用git push origin branch-name 推送就能成功

    如果git pull提示“no tracking information” 则说明本地分支和远程分支的链接关系没有创建,用命令git branch –set-upstream branch-name origin/branch-name

远程同步

  • 关联一个远程仓库:git remote add origin 仓库路径 eg. git remote add origin https://github.com/EricLee0107/learngit.git
  • 第一次推送master分支的所有内容:git push -u origin master
  • 之后每次修改推送:git push origin master
  • 取回远程仓库的变化,并与本地分支合并:git pull [remote] [branch]
  • 上传本地指定分支到远程仓库:git push [remote] [branch]
    -强行推送当前分支到远程仓库,即使有冲突:git push [remote] --force
  • 推送所有分支到远程仓库:git push [remote] --all

查看信息

  • 查看仓库当前的状态:git status
  • 查看文件修改:git diff
  • 查看提交历史:git log
  • 查看命令历史:git reflog
  • 查看分支合并图:git log --graph
    git在解决合并冲突时的做法是先将冲突合并起来,然后再手动修改冲突,重新提交,解决冲突。

  • 显示所有远程仓库:git remote -v

- 显示某个远程仓库的信息:git remote show [remote]

撤销操作

  • 回退到某个特定版本:git reset --hard commit_id
    • 撤销(丢弃)工作区修改 : git checkout --file
  • 撤销缓存区修改:git reset HEAD file
    如果修改已经提交到缓存区则需要先从缓存区撤销修改,再从工作区撤销修改.
git 版本

当前版本:HEAD
上一个版本:HEAD^
上上个版本:HEAD^^
上N个版本:HEAD~N

标签

  • 新建标签:git tag <name>默认为HEAD,也可以指定一个commit id;
  • 指定标签信息:git tag -a <tagname> -m"blablabla..."
  • 用PGP签名标签:git tag -s <tagname> -m"blabla..."
  • 查看所有标签:git tag

  • 推送一个本地标签:git push origin <tagname>

  • 推送全部未推送过的本地标签:git push origin --tags
  • 删除一个本地标签:git tag -d <tagname>
  • 删除一个远程标签:git push origin :refs/tags/<tagname>

删除远程标签前需要先删除本地标签

其他

忽略某些文件时,需要编写.gitignore (工作区根目录下)
.gitignore 文件本身要放到版本库例,并且可以对其做版本管理
配置参考 https://github.com/github/gitignore

2026华为OD面试手撕代码真题目录 一般面试的时候每一轮技术面都会出一到两个手撕代码题,这些题的特点就是,非常短小,易于理解。不可能会再出阅读理解一样的机试题的。但是这些题目也非常注意基本功,很注意细节的处理,一般都是easy+medium题目。但是大家一定要注意,因为大部分面试官上面一开始就会让你做题,直接看你所有的做题过程(防止有人水平一般,机试就网上找的答案的蒙混过关),手撕代码题会给你后面的面试定一个基调。 阅读详情

相关推荐

汉字跨越三千年的生命力与数字时代适应性

文字作为文明载体,其演变规律始终遵循实用性与适应性的平衡。汉字作为现存最古老的文字系统,凭借形义结合的六书构造原理,实现了超方言的文化统一功能。在计算机处理方面,五笔输入法与Unicode支持证明了其技术兼容性,而视觉识别效率的先天优势使其在信息时代更具传播效力。从甲骨文识别AI到现代书法设计,汉字系统持续展现强大的文化承载力与技术适应性,这种活态传承为数字人文研究提供了独特样本。

weixin_29058331的博客 355

git命令汇总

Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一、新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-name] # 下载一个项目和它的整个代码历史 $ git clone [url] 二...

背梦人 185

技术美术个人笔记(十六)——Houdini到UE的大地形

文章目录关于地形白模制作关于PDG流程 关于地形白模制作 用heightfield noise和笔刷刷出合适的mask做山形叠加: 用remap可快捷反转mask ,用来做平原地区的小型丘陵: 接着用clip切平最低处,用distort制造侵蚀等,对部分地区用笔刷进行微调拓宽峡谷: 用经过sweep打平的曲线以及裁切的各种多面体用heightfield_project投影制作河道和水池,用blur mask并remap的方法拓宽河道 用distort、erode制造合适的弯曲和侵蚀,同理可挖出月牙形

小谁的博客 3180

Git使用笔记

1. 常用命令 下载一个项目和它的整个代码历史 git clone [**.git] 比较当前文件和暂存区文件差异 git diff 将工作文件修改提交到本地暂存区 git add -A git add 显示有变更的文件 git status 提交暂存区到仓库区 git commit -a -m “[comments]” 查看该文件每次提交记录 git...

朱小厮的博客 1464

RK3588工业开发板实战:如何用IgH EtherCAT主站精准控制伺服电机(附完整代码)

本文详细介绍了如何利用RK3588工业开发板和IgH EtherCAT主站实现伺服电机的精准控制。从硬件选型、实时内核配置到EtherCAT主站安装和核心代码实现,提供了一套完整的工业自动化解决方案,特别适合需要高精度运动控制的场景。

pca5navigator的博客 972

DeepSeek-V4-Pro 正式版突袭上线:Agent 能力暴涨,DeepSWE 直接干翻 Claude Opus 4.8

8 月 12 日深夜,DeepSeek 悄悄在 API 文档里上架了一个新版本号——DeepSeek-V4-Pro-0813。第二天(13 日),这个版本被确认为 V4 Pro 正式版。没有发布会,没有预热,只改了版本号,就把整个 AI 圈的注意力又抢了过去。

2601_96613114的博客 839

Git学习笔记(1)

参考链接:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6 概述: Git是一种分布式版本控制系统,在分布式版本控制系统中,客户端并不只提取最新版本的文件快照,而是将整个代码仓库完整的镜像下来。 Git的特点: 直接记录...

u012348692的博客 350

从法律文档到知识图谱

这里我们定义了两个 Pydantic 模型:Location 用于捕捉结构化的地址信息,包含可选的国家、州和地址字段;Party 用于表示合同参与方,包含必填的名称和可选的位置详情。字段描述通过告知 LLM 每个字段具体需要查找哪些信息,来辅助提取过程。"""包含结构化地址组件的位置信息。"""country: Optional[str] = Field(None, description="国家")

Anspire的博客 3030

git学习笔记1

本文为B站视频教程的学习笔记。

inputA的博客 580

借助AI搞定国社科“研究内容”部分!用Gemini 3 Pro轻松撰写6大模块,让基金本子效率质量更上一层楼

所谓研究整体框架,是对课题研究逻辑结构与技术路径的系统阐述,其核心在于通过研究目标分解、研究内容模块化与研究方法整合,构建一个层次清晰、逻辑严密、科学可行的研究体系。撰写要求:1)分要点、分层次列出主要研究内容,保持各部分之间的逻辑性、层次性与系统性;研究可行性可理解为开展本课题在理论基础、研究方法、研究条件、人员结构、平台支撑及外部协作等方面的可实施程度,可从内部条件与外部条件两个维度进行系统论证。研究背景为:我正在申报xxx年xxx(项目名称),课题名称为:xxx,拟采用的主要研究方法包括:xxx等;

智能AI让学术科研更容易 964

最新2026年《网络数据安全风险评估办法》条款解读

大型企业集团IT变革下的零信任安全体系建设方案(55页).pptx。以数据安全为核心的安全立体防御体系解决方案(41页).pptx。让数据安全合规地创造价值(15页 PPT).pptx。大型集团数据安全应急预案(57页).docx。数据安全治理与评估服务业务介绍.pptx。数据安全管理实践(17页).pptx。大数据安全架构设计方案.pptx。大数据安全规划总体方案.pptx。数据库安全综合治理方案.pptx。医疗数据安全建设方案.pptx。数据安全框架规划图.pptx。数据安全治理方案.pptx。

cdfunlove的博客 47

git 学习笔记1

git 学习笔记 Git配置 查看系统config git config --system --list    查看当前用户(global)配置 git config --global --list 设置用户名与邮箱(必要) 通过文件配置文件 通过命名配置 git config --global user.name “lenyuluo” #名称 git config --global user.email 3312…@qq.com #邮箱 Git基本理论(核心) 工作区域 Git本地有三个

无雨 173

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Git学习笔记1

『教程』简单明了的Git入门_哔哩哔哩_bilibili黑马程序员Git全套教程,完整的git项目管理工具教程,一套精通git_哔哩哔哩_bilibili 3. git 操作指令 3.1 克隆 git clone 右键粘贴代码 或”Shift+Ins"除git外文件处于准备提交的状态 3.4 查看提交日志 git log 查看修改的状态git status从最后一次提交中main.py恢复到工作区 4. 分支 快进模式 5.2 操作远程仓库

lucky_ru的博客 350

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【学习笔记1】Git

学习内容1:建立并连接仓库 步骤:1.在www.gitee.com上创建了自己的账号,并创建了自己的仓库(此为云端仓库);2.建立需要上传的文件夹及文件(此为本地仓库),打开需上传文件的所在位置并在文件地址栏中输入cmd,然后输入命令git init,此时会在目标文件夹中建立一个隐藏的 .git文件,此时本地仓库已是git仓库;3.继续输入以下指令: git add * //Enter以下,*代表该文件夹中的所有文件 git commit -m "first commit" //将文件内容提交.

m0_60525480的博客 544

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Git的学习笔记1

没有本地仓库,只有远程仓库;所有的版本控制相关操作都是在SVN Server上进行,client和server必须通过网络连接,client才能发送处理请求以及访问server上代码,client没有本地仓库,只能提交到远程仓库有本地仓库和远程仓库;不需要网络,可以由各自的本地仓库管理代码版本,本地仓库记录了本地所有的代码的修改和提交。最后合并到远程仓库上。

ddddd_y的博客 565

【Git 学习笔记】三小时掌握 Git 命令之第 1 篇

此博客为该 B 站视频的学习笔记 Git基本命令行用法讲解 文章目录git-config1. 配置命令:2. 查看配置:3. 直接修改配置文件4. 删除配置git-init1. 初始化2. 查看生成的.git目录git-commit1. 显示工作目录和暂存区的状态2. 提交目录下所有文件3. 提交指定文件4. 添加说明5. 查看历史提交git-diff1. 查看修改前后的区别2. 添加到

【人工智障 | 计算鸡视觉 | 机器孩】 7793

【Git 学习笔记_01】Ch1.1 Git 简介 + Ch1.2 Git 对象

本篇主要梳理了 Git 主要的数据对象类型,并结合自己的理解加入了实测的脚本和效果截图,方便后续查找。

PeacefulWinter的博客 941
上一篇: vimscrip学习——基础
下一篇: vimscrip学习——文件
三层牛肉堡
博客等级 码龄14年 17粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值