首页 > 其他分享 >1_基本操作

1_基本操作

时间:2022-10-22 10:55:07浏览次数:49  
标签:git 提交 -- tag V1.2 branch 基本操作

1_git基本操作

创建分支

	git branch new_branch

本地删除分支

	git branch -D delete_branch 

更新到远程删除分支

	git checkout master 
	git pull -u   -u origin :delete_branch

git pull 失败提示fatal: refusing to merge unrelated histories ,处理方法

	git pull origin master --allow-unrelated-historiesn

查看提交提记录

	git log
	git log -p -2  #查看最近两次的提交差异
	git log --stat #仅仅现实行数的变更
	git log --pretty=oneline #每次提交,在一行显示
	git log --pretty=format:"%h - %an, %ar : %s"   #格式显示
选项 说明
%H 提交对象(提交)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(树)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(父)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(作者)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用-date =选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(提交者)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明

缓存git密码

git config --global credential.helper store

服务端搭建git(centos7)

	id git # 查看是否存在git用户,存在就不创建了。
	useradd git
	passwd git
	输入密码,我设置的是xxx@123
	

客户端开启公钥认证认证,免密push/pull

  • 首先服务端需要开启ssh服务
vim /etc/ssh/sshd_config
RSAAuthentication yes 
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
如果是centos7.4以上(含7.4),ssh1已经不支持了,只支持ssh2代协议。所以RSAAuthentication项是没有的

- 客户端执行 执行ssh-keygen -t rsa 生成公钥和私钥
- 复制客户端公钥到服务器端ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 

服务端创建git仓库

	mkdir -p /data/git/gittest.git
	
	# 初始化这个仓库
	cd /data/git/gittest.git
	git init --bare .
	
	# 目录所属用户设置
	chown -R git:git /data/git 
	

客户端clone远程仓库

	mkdir localgit
	cd localgit
	git clone [email protected]:/data/git/gittest.git .
	# 提示输入服务端git账户的密码。
	#修改完就可以提交了
	
	touch abc.txt
	git add .
	git commit -m 'aaa'
	git push 
	

tag 和branch的区别

  • Git tag是一系列commit的中的一个点,只能查看,不能移动。
  • branch是一系列串联的commit的线。

git tag的用法

  • 我们常常在代码封板时,使用git 创建一个tag ,这样一个不可修改的历史代码版本就像被我们封存起来一样,不论是运维发布拉取,或者以后的代码版本管理,都是十分方便的

git的tag功能

  • git 下打标签其实有2种情况
    轻量级的:它其实是一个独立的分支,或者说是一个不可变的分支.指向特定提交对象的引用
  • 带附注的:实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证,电子邮件地址和日期,一般我们都建议使用含附注型的标签,以便保留相关信息
    所以我们推荐使用第二种标签形式

创建tag

  • git tag -a V1.2 -m 'release 1.2'
  • 上面的命令我们成功创建了本地一个版本 V1.2 ,并且添加了附注信息 'release 1.2'

查看tag

  • git tag

  • 要显示附注信息,我们需要用 show 指令来查看

  • git show V1.2

  • 但是目前这个标签仅仅是提交到了本地git仓库.如何同步到远程代码库

  • git push origin --tags

  • 如果刚刚同步上去,你缺发现一个致命bug ,需要重新打版本,现在还为时不晚.

  • git tag -d V1.2

  • 到这一步我们只是删除了本地 V1.2的版本,可是线上V1.2的版本还是存在,如何办?这时我们可以推送的空的同名版本到线下,达到删除线上版本的目标:

  • git push origin :refs/tags/V1.2

  • 如何获取远程版本?

  • git fetch origin tag V1.2

  • 这样我们可以精准拉取指定的某一个版本.适用于运维同学部署指定版本.

标签:git,提交,--,tag,V1.2,branch,基本操作
From: https://www.cnblogs.com/hystill/p/16815559.html

相关文章

  • 单链表及其基本操作
    逻辑结构上一个挨一个的数据,在实际存储时,并没有像顺序表那样也相互紧挨着。恰恰相反,数据随机分布在内存中的各个位置,这种存储结构称为线性表的链式存储。由于分散存储,为了......
  • 双向链表及其基本操作
    虽然单链表能100%存储逻辑关系为"一对一"的数据,但在解决某些实际问题时,单链表的执行效率并不高。例如,若实际问题中需要频繁地查找某个结点的前驱结点,使用单链表存储数......
  • 循环链表及其基本操作
    1.循环链表概念对于单链表以及双向链表,其就像一个小巷,无论怎么样最终都能从一端走到另一端,然而循环链表则像一个有传送门的小巷,因为循环链表当你以为你走到结尾的时候,其......
  • 静态链表及基本操作
    我们了解了两种存储结构各自的特点,那么,是否存在一种存储结构,可以融合顺序表和链表各自的优点,从而既能快速访问元素,又能快速增加或删除数据元素。静态链表,也是线性存储结构......
  • JDBC的增删改查基本操作
    packageJDBC_1;//演示jdbc所使用的预编译importjava.sql.*;publicclassjdbc_2{privatestaticConnectioncoon=null;static{try{Cl......
  • Python set集合基本操作(添加、删除、交集、并集、差集)
    Python set集合最常用的操作是向集合中添加、删除元素,以及集合之间做交集、并集、差集等运算,本节将一一讲解这些操作的具体实现。向set集合中添加元素set集合中添......
  • Python dict字典基本操作(包括添加、修改、删除键值对)
    由于字典属于可变序列,所以我们可以任意操作字典中的键值对(key-value)。Python 中,常见的字典操作有以下几种:向现有字典中添加新的键值对。修改现有字典中的键值对。从现......
  • 索引基本操作
    索引格式PUT/my_index{ ##settings用来设置分片,副本等信息"settings":{...anysettings...},##字段映射,类型,分词器等 "mappings":{"p......
  • 文档基本操作
    ES在6.0之后Type已修改成唯一的_doc,下边对文档Type的操作都是指定的_doc在指定索引下创建文档index-如果ID不存在,创建新的文档。如果ID存在,先删除现有的文档,再创建新......
  • C语言文件基本操作
    什么是文件与普通文件载体不同,文件是以硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。文件通常具有点+三个字母的文件扩展名,用于指示文件类型(......