首页 > 其他分享 >Git命令 含GPG签名

Git命令 含GPG签名

时间:2023-08-09 19:57:02浏览次数:43  
标签:文件 Git -- GPG git 签名 branch config

Git

免密登录,之后最多再登录一次

git config --global credential.helper store

[credential]
helper = store

学习资源连接:

Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)

Pro Git(中文版) (gitee.com)

深入浅出Git教程(转载) - 小奔的早晨 - 博客园 (cnblogs.com)

GIT 基础命令

#系统配置在/etc/gitconfig
$ git config --system --list 
# 用户配置在/home/user/.gitconfig,[]表示可选内容
$ git config [--global] --list
$ git config --list

#配置用户信息
$ git config --global user.name "XXXXXXXXX"
$ git config --global user.email XXXXXX@XXXXX
#配置文本编辑器
$ git config --global core.editor vim

# 仓库建立
# 1. 本地创建仓库
# 初始化
$ git init
Initialized empty Git repository in /home/zwj/git_typing/test/.git/
# 添加文件到暂存区
$ git add .
# 忽略文件

# 提交到本地仓库,包含消息“XXXXX”
$ git commit -m "XXXXX"
# 推送到远程仓库
$ git push

# 2. 复制拉取仓库
$ git clone [url] [name]
$ git pull
$ git reset # 恢复
$ git checkout # 减除

# git仓库状态信息
git status 
# git 日志
git log

GIT 文件状态

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。

  • Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
  • Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
  • Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !
  • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

GIT 忽略文件

在仓库目录下创建一个文件名称.gitignore的文件

文件 .gitignore 的格式规范如下:

• 所有空行或者以 # 开头的行都会被 Git 忽略。
• 可以使用标准的 glob 模式匹配。
• 匹配模式可以以(/)开头防止递归。
• 匹配模式可以以(/)结尾指定目录。
• 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

GIT 绑定远程仓库

Git本地设置

git config --global user.name "codeherojake"
git config --global user.email "[email protected]"

Git创建 git 仓库:

$ mkdir golang-coding-leetcode
$ cd golang-coding-leetcode
$ git init 
$ touch README.md
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin https://gitee.com/codeherojake/golang-coding-leetcode.git
$ git push -u origin "master"

已有仓库?

$ cd existing_git_repo
$ git remote add origin https://gitee.com/codeherojake/golang-coding-leetcode.git
$ git push -u origin "master"

查寻本地绑定的remot仓库并删除

$ git remote -v
 
$ git remote remove origin 

gpg签名

将您的签名密钥告知 Git - GitHub 文档

如果报错,如下错误:

gpg: skipped "XXXXXXXXXX": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object

$ git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"
$ gpg --list-secret-keys --keyid-format=long
/Users/hubot/.gnupg/secring.gpg
------------------------------------
sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
uid                          Hubot <[email protected]>
ssb   4096R/4BB6D45482678BE3 2016-03-10
# 其中 3AA5C34371567BD2是secret key
$ git config --global user.signingkey 3AA5C34371567BD2
$ git commit -S -m "YOUR COMMIT MESSAGE"
$ git log --show-signature # 查看签名状态

git 分支

# 列出分支
$ git branch
# 列出远程分支
$ git branch -r
# 新建一个分支,但依旧停留在当前分支
$ git branch [name]
# 新建一个分支,并切换到该分支
$ git checkout -b [branch]
# merge前,先前往目标branch
$ git checkout [branch]
# 合并指定branch分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
# 一般dev是开发分支

标签:文件,Git,--,GPG,git,签名,branch,config
From: https://www.cnblogs.com/auspice/p/17617860.html

相关文章

  • 一文理解GIT的代码冲突
    对于GIT,不知道有没有人和我一样,很长时间都是小心翼翼、紧张兮兮,生怕一不小心,自己辛苦写的代码没了。特别是代码冲突,更是难到我无法理解,每次都要求助于百度,跟着人家的教程一步步解决,下一次还是这样。所有的紧张、不自信、不敢用、用不好,都来源于:不理解。只要理解了,你会发现所有......
  • GIT协作流程规范
    分支模型集中式的分支模型 目前团队使用的模式属于老旧的集中式分支模型,简单的总结就是:开发时: 团队的所有成员都在dev分支上开发(也支持少部分的特性分支feature-xxx)。测试时: 当功能需要上测试环境测试时,把dev合并到test分支,使用test分支在测试环境中测试。灰度时: 在发......
  • Ubuntu gitlab 磁盘扩容记录
    使用vgdisplay命令查看剩余LVM卷组信息,利用lvextend命令进行扩容,最后使用resize2fs命令直接执行vgdisplaylvresize-l+100%FREE/dev/mapper/ubuntu--vg-ubuntu--lv//按百分比扩容resize2fs/dev/mapper/ubuntu--vg-ubuntu--lv引用:https://www.cnblogs.com/gcc2020/p/......
  • 最新版Idea(2022.1及更高版本)显示Git提交人信息
    最新版Idea(2022.1及更高版本)显示Git提交人信息这是新版idea自带的所以不需要安装什么插件,相关设置如下:Preferences->Editor->InlayHints->Codevision还可以显示类的继承者等等,就是在代码上边有一个小标签,这个标签不占用代码行数。我感觉这个功能最方便的是可以显示出gi......
  • git command
    CommandlineinstructionsGitglobalsetupgitconfig--globaluser.name"anenyang"gitconfig--globaluser.email"[email protected]"[email protected]:ops/uranus-v2.gitcduranus-v2touchREADME.......
  • 第1章 Git概述
    第1章Git概述Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。Git易于学习,占地面积小,性能极快。它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于Subversion、CVS、Perforce和ClearCase等版本控制工具。1.......
  • git换行符
    问题假如其他人在Windows上编程,而你却在其他系统上,在这些情况下,你可能会遇到行尾结束符问题。这是因为Windows使用回车和换行两个字符来结束一行,而Mac和Linux只使用换行一个字符。虽然这是小问题,但它会极大地扰乱跨平台协作。在Windows平台上,git默认的core.autocrlf是true,......
  • 使用git创建一个空白分支
    使用git创建一个空白分支前言:::block-1最近工作中遇到的一个场景,已迭代到后期的一个项目准备重构,准备从一个新的分支开始,需要清除掉git提交记录。经实践,执行以下几个步骤即可:::1.新建空白分支gitcheckout--orphannew_branch--orphan可让该分支不会指向任何以前的......
  • git ignore 文件
    1.Myproject.idea/PageModel/__pycache__/json.pretty.outputreports/venv/testCaseExcelDatarequest_data2.sentry:.idea/dragon_sentry/dragon_sentry.egg-info/dist/dragon_sentry_api/dragon_sentry/sentry_api/shared_features/test.featuredragon_sentry_api/d......
  • Git常见命令和问题
    ------------恢复内容开始------------1.gitclone远程指定分支:gitclone-b<指定分支名><远程仓库地址> 2. pip3install-rrequirements.txt3.git如何讲主分支(master)合并熬子分支上:1、先切换到主分支master:gitcheckoutmaster2. 把主分支代码拉到本地......