Git

安装

sudo apt-get install git      		//普通用户安装
apt-get install git           		//root权限

全局设置

git config --global user.name "passwordgloo"    
git config --global user.email "passwordgloo@163.com"

初始化

mkdir repository_name               //新建仓库文件夹
cd repository_name
git init  							//初始化,会生成git隐藏文件夹
git remote add origin git地址  	   //链接本地仓库到远程仓库

基本操作

git add file  						//添加文件到暂存区
git add .  							//添加当前工作区所有修改的文件到暂存区
git reset HEAD 文件名  			  //撤销暂存区操作
git checkout -- 文件名  			  //放弃工作区更改
git commit -m "commit about file"   //添加评论并提交版本库
git push -u origin master           //推送到远程仓库

回退版本

git log  							//git日志
git reflog  						//git简略版本日志
git show-ref						//git查看ref
git reset --hard 版本号  			  //切换版本,comit前十位可确定版本号
git push origin HEAD --force		//强制同步远程仓库

分支管理

使用新的git switch命令,比git checkout更容易理解

创建分支

写法1

git branch dev						//创建分支dev
git checkout dev					//切换到dev分支

写法2

git checkout -b dev  				//创建并切换到dev分支

写法3

git switch -c dev					//创建并切换到dev分支

切换分支

写法1

git checkout master 				//旧版本,切换到master分支

写法2

git switch master					//新版本,切换到master分支

合并分支

git merge dev						//合并dev分支到当前分支
git merge --no-ff dev				//禁用fast forward,合并dev
git log --graph						//查看分支合并图

删除分支

git branch -d dev					//删除dev分支
git branch -D dev					//强行删除未合并过的dev分支

分支快照

创建快照

git stash							//将当前分支现场储存起来
git stash list						//查看快照信息

恢复快照

git stash pop						//恢复并删除快照

多人协作

git push origin <branch-name> 		//推送自己修改的分支
git pull							//如果推送失败,试图合并冲突

git pull提示no tracking information,说明本地分支与远程分支未创建链接,输入git branch --set-upstream-to <branch-name> origin/<branch-name>

SSH

生成密钥

方法1

ssh-keygen -t rsa -C "xxx@xxx"		//指定邮箱地址生成rsa密钥并选择保存位置

image

方法2

指定邮箱地址生成rsa密钥并复制到指定位置

ssh-keygen -t rsa -C "passwordgloo@163.com" -f ~/.ssh/github_id_rsa
ssh-keygen -t rsa -C "passwordgloo@163.com" -f ~/.ssh/gitee_id_rsa

添加私钥

cd ~/.ssh
ssh-add github_id_rsa
ssh-agent bash 					//出现Could not open a connection to your authentication agent输入

image

多个ssh共存

  • 当前目录新建config文件(没有文件类型名),输入
# gitee
    Host gitee
    HostName gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitee_id_rsa
    user git

# github
    Host github
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id_rsa
    user git
  • 执行sudo chmod 0600 config

添加公钥

cat ~/.ssh/github_id_rsa.pub
cat ~/.ssh/gitee_id_rsa.pub

image

image

测试

ssh -T git@github.com
ssh -T git@gitee.com

image

GPG

创建

gpg --full-generate-key

image

添加公钥

gpg --list-key 				  //列出生成的公私钥
gpg --armor --export 哈希值    //输出公钥

image

image

image

配置

git config --global user.signingkey 哈希值 	//git设置密钥信息
git config --global commit.gpgsign true 	  //设置全局签名验证
git commit -s '' 							  //gpg验证的commit

image

posted @ 2023-10-29 21:19  passwordgloo  阅读(54)  评论(0编辑  收藏  举报