mac git使用遇到的问题

  • passphrase for key id_rsa

$ ssh-keygen -p

当提升你输入新的密码的时候,按enter就可以啦,继续确认enter就可以

当然上面还有别的办法自己也可以试一下

  • 重新配置 生成 公钥
$ ssh-keygen -t rsa -C jonezhang86@gmail.com(注册的main邮箱)

进入终端 输入cd ~/.ssh,进入目录

ls 命令打开列表

cat ~/.ssh/id_rsa.pub

然后复制,并粘贴到gitlab或者github上面

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

首先我们了解下 git 的 tag 功能:

git 下打标签其实有2种情况

(1): 轻量级的

它其实是一个独立的分支,或者说是一个不可变的分支.指向特定提交对象的引用.

(2):带附注的

实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证,电子邮件地址和日期,一般我们都建议使用含附注型的标签,以便保留相关信息.

所以我们推荐使用第二种标签形式.

创建标签:

1
zhangzhi@moke:~/code/demo$git tag -a V1.2 -m 'WebSite version 1.2'
上面的命令我们成功创建了本地一个版本 V1.2,并且添加了附注信息 'WebSite version 1.2'

查看标签:

1
2
3
4
zhangzhi@moke:~/code/demo$ git tag
V1.0
V1.1
V1.2

我们看到本地有3个标签,最下面的 V1.2 就是刚才提交的,但是没有显示出来我们附注信息.

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

1
2
3
4
5
6
7
8
9
10
11
12
13
zhangzhi@moke:~/code/demo$ git show V1.2
tag V1.2
Tagger: zhangzhi zzhi.net@gmail.com
Date: Wed Jul 21 18:42:35 2015 +0800

WebSite version 1.2

commit 853cecc248756d0189d2a328dc22fa6781a65265
Merge: 1f23b2b 00cfb5b
Author: zhangzhi zzhi.net@gmail.com
Date: Wed Jul 21 18:38:36 2015 +0800

Merge branch 'master' into test

上面显示出来了 V1.2 标签的所有提交信息.

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

tag 远程推送:

1
zhangzhi@moke:~/code/demo$git push origin --tags
这样我们就把本地版本推送到了远程代码仓库.

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

删除标签:

1
zhangzhi@moke:~/code/demo$git tag -d V1.2
到这一步我们只是删除了本地 V1.2的版本,可是线上V1.2的版本还是存在,如何办?

这时我们可以推送的空的同名版本到线下,达到删除线上版本的目标:

1
zhangzhi@moke:~/code/demo$git push origin :refs/tags/V1.2
这时本地和远程的 V1.2 版本已经被我们移除掉.

如何获取远程版本:

1
zhangzhi@moke:~/code/demo$git fetch origin tag V1.2
这样我们可以精准拉取指定的某一个版本.适用于运维同学部署指定版本.

相关文章

Git安装和使用 Git安装和使用 刚开始用git的小白适用,,转自...
fatal: remote origin already exists.解决方法 第一个问题g...
git常用命令(二)查看历史记录 git log [--pretty=oneline]...
git之如何把本地文件上传到远程仓库的指定位置 git专栏收录该...
代码规范之 lint-staged 在代码提交之前,进行代码规则检查能...
方法:1、文件没有git操作时用“git checkout--文件”命令还...