git学习笔记

Git分支问题(git remote prune) 问题描述 : 查看所有分支使用命令git branch --all feature-tmp feature-tmp-no-ad feature-tools feature-tools-dev feature-trend feature-trend-paint feature-wangcai feature-wangcai-no-ad remotes/orig... 阅读详情

1.git基本概念理解

git是分布式版本控制系统,适合于多用户合作开发。git系统的管理是以仓库为单位的,对于每一个项目,我们可以建立相应的仓库,当然一个仓库下也可以保存多个项目。仓库有本地仓库和远程仓库。

本地仓库:每个开发者在个人计算机上创建的仓库,开发者进行的所有修改、提交等操作都在本地仓库进行。本地操作可离线进行,本地更新不影响远程仓库。

远程仓库:在服务器端的仓库,只是本地仓库在远程服务器上的一个复制,所有人可见,本地提交可以同步到远程仓库,类似于将本地文件上传到网盘中一般,但是不是上传新文件覆盖旧文件那么简单。

文件状态:在git中,文件有四种状态(git book上说有三种状态,个人理解,所有文件按四种状态分类更合适一点):untracked,modified, staged,committed.

statusdescription
untracked新建文件或者拷贝新文件到git控制目录时,新文件会被git认定为untracked
modified修改文件后,文件状态变为modified。同样使用git add <file>将文件添加到stage区
stagedstage区中的文件,是即将提交的版本修改
committed新版本文件已经提交到仓库

状态切换:对于untracked,modified文件可以使用git add <file>将文件添加到git仓库stage区,使其状态变为staged,git commit命令可以将文件提交到仓库,使其状态变为committed。

commit:每一次commit其实都生成了一个新的版本,不同于某些增量式系统,每有一个新的版本出现,git都会创建一个新版的snapshot,并且生成一个对应的hash码。commit命令会生成一个实体,包含一个hash码,一个指向前一次commit实体的指针,和指向新版本的snapshot的指针。

branch:分支实际上是一个指针,指向某一个commit。创建一个分支意味着新的版本从主线中分离出来,分支版本开发完毕后可以与主线合并。可以将分支理解为不同的开发方向。

2.配置git,本地仓库与远程仓库

2.1 配置git

第一次安装git时需要对其进行配置,使用过程中也可以更改这些配置。使用git config命令可以进行配置。使用该命令配置后的参数存放在三个位置

  • /etc/gitconfig为系统配置(windows下为C:\Documents and Settings\All Users\Application Data\Git\config)。可为git config命令传递--system参数设置。
  • ~/.gitconfig or ~/.config/git/config为用户配置(windows下为C:\Users\$USER\.gitconfig)。可为git config命令传递--global参数设置。
  • .git/config文件,在当前工作空间目录下。为单个项目所配置,仅在该工作空间下有效。可为git config命令传递--local参数设置。
git config --global user.name "name"			#设置用户名
git config --global user.email mail@example.com		#email address
git config --global core.editor emacs			#设置默认编辑器
git config --list					#查看设置
git config user.name					#只查看用户名,查看其他配置同理

2.2 创建仓库

创建本地仓库有两种方式:直接在本地创建和从远程克隆一个仓库到本地。

  • 直接在本地创建
git init 	#从本地创建一个仓库
  • 从远程仓库克隆
git clone url 	#从url指向的地址处克隆一个远程仓库到本地

创建远程仓库可以选择相应的托管网站建立,详见各托管网站。

2.3 本地仓库链接到远程仓库

如果是直接从本地创建仓库,使用dit remote add命令链接到远程仓库

git remote add name url 	#链接到url指向的远程仓库,并命名为name

如果使用git clone命令,则自动链接到远程仓库,并为远程仓库取名origin。
链接到远程仓库之后,可以将远程仓库和本地仓库同步。先使用git pull remote locate从remote同步数据到locate并合并。然后可以使用git push remote locate将本地locate数据同步到远程仓库remote。如果是使用git clone命令创建的本地仓库,则无需先从远程同步数据到本地。

3.基本操作

3.1 查看文件状态

显示目录下文件状态信息

git status
git status -s		# 获取文件简略状态信息
git status –short	# 获取文件简略状态信息

git status只是列出文件状态,一般只显示哪些文件被修改了,哪些文件在stage区还未提交,哪些文件是untracked。若想查看当前文件的具体变化,使用git diff

git diff file		#比较staged文件和当前目录下文件的不同,详细列出更改的地方
git diff –staged	#列出staged 文件和committed文件的变化

3.2 更改文件状态

文件修改后,文件状态会变为modified,将修改的文件或为跟踪的文件添加到stage区,使用下述命令后文件状态变为staged。

git add files

将staged文件提交到仓库

git commit -m "comments"	#带注释信息的提交
git commit -a			#将所有修改过的文件提交到仓库,不要求使用git add将其添加到stage区。但是这可能会将不必要的修改提交。
git commit –amend 		#如果将staged文件提交了但是发现还有文件没有在staged区也需要提交,并且应该与前一次提交合并进行,那么将这些文件添加到staged区,该命令将补充提交到最近的一次提交中。

重命名文件

git mv from to	#与下列三条命令等价
mv from to;
git rm from;
git add to

删除文件

git rm files
git rm -f files		#强制删除,这两条命令都是从硬盘上删除文件
git rm –cached files	#删除staged文件,文件依然在硬盘上,但是变untracked

将staged文件变为unstaged

git reset HEAD files

将修改的文件改回到修改之前

git checkout – files

3.3 git日志

查看git日志

git log				#列出提交日志,默认按时间排序
git log –graph			#以ASCII graph显示结果
git log --pretty=parameter	#使用parameter控制输出格式
git log --patch/-p		#列出每次提交所引入的变化
git log	--stat			#列出每次提交的的详细改变
git log	--since			#限制只输出某一时间之后的提交
git log	--until			#限制只输出某一时间之前的提交
git log	--author		#过滤输出某一作者的提交
git log	--grep			#只输出包含某个字符串的提交

3.4 git remote

将本地仓库链接到远程仓库命令为git remote add,详细使用见第2节。
重命名远程仓库

git remote rename old_name new_name

删除远程仓库

git remote remove <remote>
git remote rm <remote>

监测远程仓库

git remote show <remote>

从远程仓库下载数据到本地仓库,只下载数据不与当前本地仓库合并。

git fetch <remote> 

从远程仓库下载数据自动与本地仓库数据合并。

git pull <remote> <locate>

本地仓库branch所指向数据上传到远程仓库

git push <remote> <branch> 

3.5 git tag

在git中为了标记某些关键开发版本,可以针对相应版本建立标签,git标签分为两种:lightweight tag & annotated tag.
lightweight tag只是一个指针指向某一个提交。
annotated tag却包含tag name, email, date, tagging message等。
列出所有tag

git tag

创建tag

git tag -a <version> -m "comments"	#创建annotated tag
git tag <version>			# 创建lightweight tag

创建后续补偿tag, 当想为某一次过去的提交创建tag时,可以使用如下命令

git tag -a <version> sha-code		#sha-code是某一个提交版本的sha-1 hash码

将tag上传到远程仓库,git默认是不上传tag的

git push <remote> <tagname>
git push <remote> --tags		#一次上传多个tags

删除tag

git tag -d <tagname>

3.6 git别名

如果输入命令时只输入部分,git不会推测命令的意思,有些命令比较长,不想输入完整部分时,可以为某些命令建立一个短的别名代替,代码格式为

git config --global alias.rename command

例如

git config --global alias.ci commit
git ci		#与git commit相同

4.Branch

在git中branch是指向某一个commit的可移动指针。

branch相关操作命令
ordercommandsdescription
1git branch <branch>创建一个新的branch
2git branch查看当前已有branch
3git branch -v查看当前已有branch并列出最后一次commit信息
4git branch --merged查看已经合并的branch
5git branch --no-merged查看未合并的branch
6git branch -d <branch>删除branch
7git checkout <branch>切换branch
8git chackout -b <branch>创建branch并切换到该branch,等同于git branch&git checkout
9git remote show [remote]列出远程branch
10git ls-remote [remote]同上
11git checkout --track origin/serverfix设置当前branch跟踪远程origin下的 branch serverfix
12git checkout serverfix如果本地不存在branch serverfix并且远程刚好存在该branch,则创建一个branch跟踪远程branch serverfix
13git checkout -b sf origin/serverfix更改使得branch sf跟踪远程origin/serverfix branch
14git branch -u origin/serverfix将当前跟踪的branch更改为origin/serverfix
15git push <remote> --delete <branch>删除远程branch
16git branch -vv查看设置的所有跟踪的branches

开始用git管理代码,阅读Pro Git过程中的一些笔记,暂时只写这么多,后续使用学到新的内容再补充。欢迎指正。

2026年高教社杯数学建模国赛A题解题思路:从物理方程推导到MATLAB高效求解的全流程实战指南 □所有代码能够从头运行到尾,不报错(清除workspace重新跑一遍)□论文中的每个图号、表号、公式编号与正文引用一致□附录中附上核心代码(注意:不是全部代码,而是关键求解器和后处理部分)□支撑材料压缩包包含完整代码、数据文件、README说明□摘要字数严格控制在1000字以内,突出创新点和核心结果□。 阅读详情

相关推荐

使用Typora时LaTeX内联公式简单汇总

0、前言 在使用Typora写笔记时,有时候需要添加上LaTeX排版的公式。以下是整理出的一份简单笔记,方便记忆不清楚时查阅。笔记暂时不够完善,之后再补充。 注:有些公式语法KateX不能解析,但在Typora中可以使用(不用在意) 1、一些基本内联公式 位置关系 展示 LaTeX 说明 x2x^{2}x2 x^{2} 右上标 x2x_{2}x2​ x_{2} 右下标 2x{}^{2}x2x {}^{2}x 左上标 2x{}_{2}x2​x {}_{2}x 左下标

白白旧维的博客 4444

git 远程仓库 remote 使用总结

git的远程仓库是指托管在网络上的项目仓库。对于公司来说,绝大部分公司都会自己搭建自己的git仓库。对于RD来说,自然免不了要经常跟远程仓库 remote打交道。今天我们就来对远程仓库的使用做一个总结。第一步自然是将代码从仓库clone过来:lei.wang ~/gitcode $ git clone git@xxx:lei.wang/user_labels_merge.git Cloning in

bitcarmanlee的博客 9814

数据标注的下一代SOP,可能不是Word,而是一段Prompt

再给几个反例:“这个只是正常纹理,不算。真正用于数据生产的Prompt,可能至少包含:任务定义、正例、反例、边界案例、优先级、输出格式、验收逻辑。一个项目100个人,如果100个人对这句话有100种理解,最后返工的就不是一个框,而可能是几十万帧数据。一个项目启动以后,项目经理先研究SOP,培训组长,组长再培训标注员,最后几百个人按照同一套规则干活。实际上一个成熟的项目经理,最重要的能力之一,就是:把客户的业务语言翻译成生产规则。真正让项目难交付的,从来不是80%的普通数据,而是那20%的长尾数据。

AI数据标注猿 296

Git系列(二): git remote一些实用操作

git remote操作还是很实现用的,实际开发工作中经常要用到,本次列举了一些实际工作中经常要用到的技巧点,希望能够帮助到大家 使用分析 所有操作 以下是git remote指令支持的多有指令,可以在使用的时候当指导来查询,一般输入"git remote -h"即可得到 usage: git remote [-v | --verbose] or: git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-.

茶不思基 5190

科大讯飞(1): 环形6麦语音唤醒—驱动板上的接口

介绍环形麦阵列驱动板上的接口,及其疑问

bing_feilong的博客 1175

echarts实现3D地图——map3D

【代码】echarts实现3D地图——map3D。

xiaoququ的博客 7323

git命令之git remote的用法

要 参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展.管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分 支,定义是否跟踪这些分支,等等.本节我们将详细讨论远程库的管理和使用.

wangjia55的专栏 34万+

Unity游戏开发客户端面经——网络(初级)

Unity游戏开发客户端面经 之 网络 篇

Sea3752的博客 1万+

git 打标签

打标签 同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签。人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做。本节我们一起来学习如何列出所有可用的标签,如何新建标签,以及各种不同类型标签之间的差别。 列显已有的标签 列出现有标签的命令非常简单,直接运行 git tag 即可: $ git tag v0.1 v1.3 显示的标签按字母顺序排列,所以标签的先后

移动开发 1586

JWT实战:5分钟搞定Spring Boot集成JWT认证(含完整代码示例)

本文详细介绍了如何在Spring Boot中快速集成JWT认证,提供完整的代码示例和配置指南。通过JWT实现无状态认证,解决分布式系统中的会话管理问题,提升系统扩展性和安全性。涵盖令牌生成、验证、Spring Security整合及生产级优化方案。

weixin_29327525的博客 456

YOLOv8+ByteTrack实战:5分钟搞定多目标跟踪(附鱼群检测调参秘籍)

本文详细介绍了如何利用YOLOv8和ByteTrack快速实现多目标跟踪,特别针对鱼群检测等复杂场景提供参数调优秘籍。通过环境配置、核心机制解析和专项调优技巧,开发者可在5分钟内搭建高效跟踪系统,适用于水产养殖、交通监控等实际应用。文章还包含工程落地方案和性能优化建议,帮助实现精准的鱼群计数与行为分析。

e1f2g的博客 1019

Git 学习笔记

个人对 Git 初步学习的理解以及记录

m0_73959697的博客 2110

国债期货的日线趋势跟踪策略实现(基于backtrader框架)

通过backtrader框架,我们可以轻松地实现国债期货的日线趋势跟踪策略,并进行回测和验证。通过这种策略,我们可以尝试捕捉国债期货价格的短期趋势,并根据趋势的方向进行交易决策。backtrader提供了许多内置的指标、订单类型和其他功能,可以帮助你进一步优化和改进你的策略。它提供了丰富的工具和功能,使我们能够快速实现和验证我们的交易想法。方法中,我们根据当前价格和前一天的价格判断趋势的方向,并根据趋势的变化进行买入或卖出操作。然后,我们设置了初始资金和交易手续费,并将我们定义的策略。来跟踪每日的收盘价。

NisyPhilosophy的博客 404

Git学习笔记之——常见指令

Git学习笔记之-------常见指令 工作区\暂存区\仓库 说明 git config --global user.name “名称” 注册用户名 git config --global user.email “邮箱” 注册用户邮箱 git init 在当前文件夹建立Git项目 git mv game.py wordgame.py 本地安全地修改文件名 git ...

iot小胡的博客 377

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

GIT 学习笔记

GIT 学习笔记 --- 思维导图

weijinhua_123的博客 458

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Git学习笔记

试一下啊

qiren5210的博客 144

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Git学习笔记大全

本文是一份全面的Git学习指南,系统介绍了Git的核心概念和操作指令。主要内容包括:版本控制原理(集中式与分布式对比)、Git核心概念(仓库、提交、分支等)、基础操作(创建仓库、提交更改)、进阶操作(分支管理、合并冲突)、高级功能(储藏修改、标签管理)以及远程操作(推送拉取)。文章详细讲解了50+常用Git指令,涵盖配置、提交、分支、撤销、合并等日常开发场景,并附有操作示例和注意事项。适合Git初学者系统学习,也可作为开发者的速查手册,帮助掌握这个强大的分布式版本控制工具。

2402_88633912的博客 1236

git和github学习笔记

git和github学习笔记 仅为学习笔记和重要内容参考,如果想学习git相关知识,请移步廖雪峰的git教程 安装git windows下下载二进制安装 创建git仓库 在git bash工具窗口内,切换到某文件夹下,输入git init在该文件夹下生成.git文件夹 git常用命令 语句 含义 git status 查看状态 git log 查看日志 git reflog...

ShadowKiller' blog 771
上一篇: make出现"undefined reference to 'std::__cxx11..."错误
璞小坤
博客等级 码龄12年 0粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值