Git 学习
2024-04-09 21:50:54  阅读数 225

配置公钥

● 输入 ssh-keygen -t rsa -C "你的邮箱地址" 三次回车之后就可以生成密钥对
● 输入 cat ~/.ssh/id_rsa.pub 查看你的 public key(公钥)
● 将得到的公钥复制到码云-我的-设置-SSH公钥里
● 进行全局配置(每一台电脑需配置一次,否则无法提交)

git config --global user.email "xxx@xxx.com"   // xxx@xxx.com 换成你的邮箱地址
git config --global user.name "xxxx"                     // xxxx换成你的用户名 

● 在码云中生成仓库之后会出现提示
● 克隆仓库

git clone git@gitee.com:huruqing/oa-h5.git

git@gitee.com:huruqing/oa-h5.git为仓库链接地址

推送代码

1. git add .
2. git commit -m"第一次提交"
3. git push origin master -u // 第一次推送
4. git push // 第二次推送 

将已有文件夹上传码云

1.将已有文件夹变为一个仓库

git init

2.将文件夹仓库与码云仓库进行关联

git remote add origin git@gitee.com:huruqing/meiriyouxian.git

git@gitee.com:huruqing/meiriyouxian.git为码云仓库地址
3.检查是否关联成功

git remote -v

4.关联成功可进行推送
5.拉取码云仓库到自己电脑上

git pull

常用推送代码

1. git add . // 添加代码
2. git commit -m"xxx" // 提交代码
3. git push origin master -u // 推送代码
4. git pull // 拉取代码(更新代码)
5. git remote origin 仓库地址 // 关联远程仓库
6. git remote -v // 查看仓库关联地址
7. git clone 仓库地址 // 克隆仓库
8. git push -f // 强行推送代码(危险操作)
9. git log // 查看提交历史
10. git reset // 恢复到之前的某一次提交

退回某一次提交状态

查看版本信息

git reflog

如果我们要回退到aaa这次操作提交上来,我们只需要将id复制一下,然后执行下面命令即可

git reset --hard e55640863f0eb141e0857761f0268c61121c07ac

冲突解决

第一种情况

出现以下提示


image.png

意思是被拒绝了,要先执行 git pull 命令

第二种情况

执行git pull命令,同学 B 的界面上出现了以下情况
image.png

因为两位同学同时修改了同一行代码,所有 git 不知如何取舍(如果同学 a 修改了第一行,同学 b 修改了第二行,那么 git 会智能的合并),只好把合并代码这个事情交给开发者去处理,
上图中<<<<<<< HEAD 到========的代码是 B 同学的代码,
======到>>>>>>> a248f68a5fcbcbe4cc887bee3dfc3cfd1cf7147b 的代码是同学 a 的代码,括号的 Incoming Change 的意思是从外面来的修改,a248f68a5fcbcbe4cc887bee3dfc3cfd1cf7147b 是仓库是冲突的版本号,你可以通过 git log 看到详细的信息.
你可以根据具体情况去合并代码,取 a 的代码或者取 b 的代码,或者 a 取一点,b 取一点,具体情况具体分析

当同学 A 和同学 B 都修改了同一个地方的代码,同学 A 推送了代码,同学 B 执行了git add .命令,但没有执行git commit命令,就会出去下面的界面:
image.png
意思是要你先git commit,然后再git pull

第三种情况

进行git pull或者git push无法更新代码

提示没有权限
image.png

可能你真的没有权限
你的项目没有关联远程仓库
没有网络或者网络卡
gitee网站的问题

已下提示

image.png

原因: 在你提交之前, 已经有人先于你提交了, 你要先执行git pull把对方的代码更新下来, 再去执行git push。

无法git pull

本地仓库修改了代码, 需要先commit后才能执行git pull 操作