git 操作指南

150 阅读2分钟

查看远端仓库地址:

git remote -v

查看用户名和邮箱地址:

git config user.name
git config user.email

修改用户名和邮箱地址:

git config --global user.name "username"
git config --global user.email "email"

git安装克隆提示 Cloning into '项目'... remote: HTTP Basic: Access denied,看到这个问题,我以为这我的帐号没有分配克隆权限呢

  1. 解决问题:生成自己帐户私匙,配置到git上面链接码云
git clone git@gitee.com:yys926/tp.git
  1. 创建用户
git config --global user.name "名称"
git config --global user.email "邮箱"
  1. git 生成秘钥 并连接 码云
1, ssh-keygen -t rsa -C "xxxxx@xxxxx.com" 码云的邮箱
按三次回车,不用添加任何东西
2, cat ~/.ssh/id_rsa.pub
查看秘钥 并复制 到 码云上
3, ssh -T git@gitee.com
出现 (Welcome to Git@OSC, yourname!) 证明链接成功

tag应用

git tag <tagName> //创建本地tag

git push origin <tagName> //推送到远程仓库

若存在很多未推送的本地标签,你想一次全部推送的话:

git push origin --tags

以上是基于本地当前分支的最后的一个commit 创建的 tag ,但是如果不想以最后一个,只想以某一个特定的提交为tag ,也是可以的,只要你知道commit 的id。

git log --pretty=oneline //查看当前分支的提交历史 里面包含 commit id

git tag -a <tagName> <commitId>

2.查看标签
查看本地某个 tag 的详细信息:

git show <tagName>

查看本地所有 tag:

git tag 或者 git tag -l

查看远程所有 tag:

git ls-remote --tags origin

3.删除标签
本地 tag 的删除:

git tag -d <tagName>

远程 tag 的删除:

git push origin :refs/tags/<tagName>

如下所示:

git tag -d 12345    #删除本地记录
git push origin :refs/tags/12345    #删除远程记录

把本地tag 推送到远端:

git push origin :<tagName>

这里感谢读者反馈指出问题

4.检出标签
git checkout -b <branchName> <tagName>

因为 tag 本身指向的就是一个 commit,所以和根据commit id 检出分支是一个道理。

但是需要特别说明的是,如果我们想要修改 tag检出代码分支,那么虽然分支中的代码改变了,但是 tag标记的 commit还是同一个,标记的代码是不会变的,这个要格外的注意。

其它

命令git tag -a <tagname> -m "XXX..." 可以指定标签信息。

命令git tag -a v0.1.0 -m "release 0.1.0 version" 创建附注标签。

命令git checkout [tagname] 切换标签。

回滚历史commit(还未提交到远程仓库)

git reset --hard HEAD~1

已提交到远程仓库,历史回滚

git reset --hard <commit_id> //回滚到你想回滚的commit
git push origin HEAD --force //重新push到你的远程仓库

<commit_id> 是什么

输入 git log 可以看到以下内容,圈中的就是 commit_id

image.png