git配置-新人git配置

个人git地址

仓库 - 疯批美人 (QAls) - Gitee.com

用户名

2037632974@qq.com

密码 开机密码

新人git配置

1. 在本机生成公私钥ssh-keygen -t rsa -b 4096 -C "xx@xx.com"  默认生成的公私钥 ~/.ssh/

id_rsa.pub

id_rsa

去查了下4096是啥意思   参考博客ssh-keygen -t rsa -b 4096 -C "邮箱"_weixin_33775582的博客-CSDN博客

-b 4096:b是bit的缩写

-b 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。命令中的4096指的是RSA密钥长度为4096位。

DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/qa/.ssh/id_rsa): yes
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in yes.
Your public key has been saved in yes.pub.
The key fingerprint is:
SHA256:MGbV/xx/xx lishan12@xx.com
The key's randomart image is:
+---[RSA 4096]----+
|        ...OBB=Eo|
|       . .O+oO=o=|
|      = .o*+B *o.|
|     o o o+B =.. |
|        S.+o .   |
|        .   o    |
|         .   .   |
|          . .    |
|           .     |
+----[SHA256]-----+

2. 配置登录git的username email。为公司给你分配的用户名 密码

第一步:

git config --global user.name 'username'
git config --global user.email 'username@xx.com'

第二步:设置永久保存
git config --global credential.helper store 复制代码
第三步:手动输入一次用户名和密码,GIT会自动保存密码,下次无须再次输入
git pull

3. 初始化仓库  git init

4. 拉取代码 git clone git@gitlab.xx.com:xx/xx.git
Cloning into 'xx-xx'...
git@gitlab.xx.com's password:
Permission denied, please try again.
git@gitlab.xx.com's password:

遇到的问题:没有出username  和 password成对的输入项 ,而是出了password输入项 

都不知道密码是啥,跟登录git库的密码不一样。

然后使用http的方式,报一个错误:

1

2

3

use:~/ecox # git clone https://vcs.in.ww-it.cn/ecox/ecox.git

正克隆到 'ecox'...

fatal: unable to access 'https://vcs.in.ww-it.cn/ecox/ecox.git/': SSL certificate problem: unable to get local issuer certificate

提示SSL证书错误。发现说这个错误并不重要是系统证书的问题,系统判断到这个行为会造成不良影响,所以进行了阻止,只要设置跳过SSL证书验证就可以了,那么用命令 :

git config --global http.sslVerify false

然后可以了,但是还是会要用户名和密码:

1

2

3

4

5

6

suse:~/ecox # git clone https://vcs.in.ww-it.cn/ecox/ecox.git

正克隆到 'ecox'...

Username for 'https://vcs.in.ww-it.cn': xxx

Password for 'https://xxx@vcs.in.ww-it.cn':

remote: HTTP Basic: Access denied

fatal: Authentication failed for 'https://vcs.in.ww-it.cn/ecox/ecox.git/'

参考博客git clone 提示输入git@xxx的密码 - 狂神314 - 博客园

第一次配置是按照如上配置的,第二次发现不生效了。。。

才发现是公钥出现了问题,要先设置用户和邮箱再重新生成ssh公钥即可。知道为啥上周生成的公钥不能用了么?因为..的运维把我的git登录权限禁止了。。。又经过一顿不懈的怼天怼地后,重新给我开通了。烧脑操作导致我要重新配置一遍git,服了。。。暴脾气忍不了

紧接着生成ssh

ssh-keygen -t rsa -C “your@email.com”(输入自己的邮箱)

后面出现的直接回车就可以,如果你的本地有很多pub 可以生成前重命名下

查看公钥
在cd ~/.ssh 找到ssh文件夹
打开id_rsa.pub,复制全部内容

点击右上角头像进入setting->左边菜单栏点击 ssh keys
紧接着 在your ssh key会有 多出一个新的ssh!!


接着push上去就可以顺利了!

 git push -u origin --all 

5. 然后再git clone 选择http

  • Clone with SSH
  • Clone with HTTPS

qa@lishandeMacBook-Pro-4:~/Desktop/2021/code$git clone https://gitlab.xx.com/cloud/xx-xx.git
Cloning into 'xx-xx'...
Username for 'https://gitlab.xx.com': lishan12
Password for 'https://lishan12@gitlab.xx.com':
remote: Enumerating objects: 16800, done.
remote: Counting objects: 100% (16800/16800), done.
remote: Compressing objects: 100% (5470/5470), done.
remote: Total 16800 (delta 11386), reused 16446 (delta 11132)
Receiving objects: 100% (16800/16800), 191.85 MiB | 8.85 MiB/s, done.
Resolving deltas: 100% (11386/11386), done.
Checking out files: 100% (4031/4031), done.



多人在Linux机器上添加git代码权限

git邮箱  2037632974@qq.com  密码 Mac开机密码

ssh-keygen -t rsa -f ~/.ssh/id_rsa.username

chmod 644 ~/.ssh/config

【注】~/.ssh/config文件的权限必须是644

vim ~/.ssh/config

添加如下内容:

Host xx..com
User username
IdentityFile ~/.ssh/id_rsa.username

在vim ~/.ssh/config 添加如下3段配置 

shitf+G 按下o

为什么要上传SSH公钥?

你的git客户端可通过SSH协议访问iCode, 什么是SSH

将你本地的SSH公钥上传到iCode之后, 每次执行git push/fetch自动使用SSH密钥认证

SSH Keys配置不当访问远端代码库会报错, 请务必按照以下步骤完成配置

如何上传?

1. 在Linux或Mac OS终端或Windows Git Bash, 执行ssh-keygen命令生成SSH公钥和私钥

>> ssh-keygen -t rsa

填写SSH密钥存放目录, 或直接回车存在在默认位置:

>> $HOME/.ssh/

输入SSH密钥的使用密码并记住, 每次下载和上传时会用到此密码; 或直接回车不设置密码

2. 查看并复制SSH公钥

>> cat ~/.ssh/id_rsa.pub

3. 粘贴到左侧框中, 添加保存即可

简易的命令行入门教程:

Git 全局设置:

git config --global user.name "2037632974@qq.com"
git config --global user.email "xx@qq.com"

创建 git 仓库:

mkdir offline-tools
cd offline-tools
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/QAls/xx.git
git push -u origin master

已有仓库?

cd existing_git_repo
git remote add origin https://gitee.com/QAls/xx.git
git push -u origin master

git拉取同步远程分支到本地(两种方法)

1、当本地有其他分支的代码仓库时
通过下述命令查看所有的远程分支:

git branch -r
下面有2种方法来拉取远程分支代码:

(1).需要本地分支和远程分支建立映射关系
执行如下命令:

git checkout -b 本地分支名xxx origin/远程分支名xxx
使用这种方式会在本地仓库新建分支xxx,并自动切换到新建的分支xxx,当然了远程分支xxx的代码也拉取到了本地分支xxx中。采用这种方法建立的本地分支会和远程分支建立映射关系。

(2).不需要本地分支和远程分支建立映射关系
执行如下命令:

git fetch origin 远程分支名xxx:本地分支名xxx
使用这种方式会在本地仓库新建分支xxx,但是并不会自动切换到新建的分支xxx,需要手动checkout,当然了远程分支xxx的代码也拉取到了本地分支xxx中。采用这种方法建立的本地分支不会和远程分支建立映射关系。

2、当本地没有其他分支的代码仓库时
执行如下命令:

git clone -b 分支名 仓库地址
执行上述命令后就将远程分支拉取到了本地

remote: HTTP Basic: Access denied

如遇

remote: HTTP Basic: Access denied
remote: You must use a personal access token with 'read_repository' or 'write_repository' scope for Git over HTTP.
remote: You can generate one at http://gitlab.xx.xx.cn/-/profile/personal_access_tokens
fatal: 'http://gitlab.xx.xx/qa/xx.git/' 鉴权失败

解决办法:gitlab,点击头像-setting(Edit profile)-Access Tokens 设置token失效时间

设置完成生成 Feed token 

git clone时候输入用户名 和 Feed token(代替密码) 下拉代码成功

git clone报错 Access denied remote: You must use a personal access token with ‘read_repository‘_you must use a personal access token with 'read_re-CSDN博客

[rejected]  master -> master (fetch first) 

 ! [rejected]        master -> master (fetch first)

这是因为本地仓库修改前与远程仓库的内容(版本)不一致,可能是别人修改了远程仓库,而自己的本地仓库没有及时同步(拉取)过来
以致于在git push 提交时,会检测到之前从远程仓库拉取的时候的仓库状态和现在的不一样了
于是,为了安全起见,就出现了拒绝提交

解决方法:
方法一:
1、将远程仓库修改的内容更新到本地仓库: git pull --rebase origin master
注:如果远程仓库上已经更新的地方与当前提交的修改的地方一致,那么此时本地仓库上的修改可能会被覆盖。这样的话,可以先使用 git fetch origin master (不会自动合并),然后查看更新情况再进行有选择的合并;或者先将本地仓库修改过的内容备份,git pull origin master 后再重新修改;

2、再进行提交:git push origin master

方法二:(不建议)
利用 git 强制上传:git push -f origin master 或 git push --force origin master
它会忽略版本不一致等问题,强制将本地仓库上传的远程仓库。但是要慎用,因为本地仓库会覆盖远程仓库,如果远程仓库上有重要更新,都会被覆盖掉
 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方狱兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值