git学习

Git keyGen

在对gitlab进行远程连接前,第一步是将git的公钥交给远程仓库

在这个步骤中,需要使用git命令行对本机的公私钥进行生成。
生成算法很多种,这里只知道两种 rsa和ed25519

其生成指令分别为:

ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

从指令中可以看出, -t是用来指定加密的算法,其中,ed25519生成的公私钥相对更短。
如果该加密算法支持的时候,远端仓库将会报错:

The form contains the following error:
Fingerprint cannot be generated

Git fork update

在一些时候需要同步被自己fork的仓库的代码更新。

为了保证自己修改过的代码不被丢失,所以需要先提交一次
提交方法:使用git add . Git commit -m ""

之后,再去给自己本地仓库的代码增加源分支,,,在此处给该分支命名为upstream

git remote add upstream ${代码地址}

【可选】核实一下自己远端分支的列表

git remote -v

同样,可以通过指令去移除远端分支列表

git remote remove ${name}

fetch源分支的新版本到本地

git fetch upstream

合并两个版本的代码

git merge upstream/master

最后提交合并后的代码

git push

提交分支到仓库

提交分支到本地仓库

如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做:
$ git push origin test:master // 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支
$ git push origin test:test // 提交本地test分支作为远程的test分支

提交分支到别人的仓库

1、clone其他人的项目,然后使用上述的推送方法,推送到origin的远端仓库下【因为clone的地址默认为origin仓库】

2、fork其他人的项目,然后添加fork的远端仓库地址到自己的本地仓库里,并且另外命名,之后使用指令
$ git push ${name} test:master // 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支
$ git push ${name} test:test // 提交本地test分支作为远程的test分支

踩坑

Git pull origin lightats8:lightats8时报错(non-fast-forward)

原因:
未关联到远程分支
解决办法:

git branch --set-upstream ${branchName}  origin/${fetchBranchName}

${branchName} 关联到远程仓库的origin/${fetchBranchName}分支上。
之后再使用Git pull origin lightats8:lightats8就可以成功拉去线上分支了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值