Git使用心得体会
上完高级软件工程后,有幸真正用git与小组同学(5人)一起管理一个项目。本文主要从实际使用(vs code版本)和之前学习时候的版本进行介绍。其中第一部分主要记录了在真正使用的时候遇到到实际问题,第二部分则是通过对五大场景的基本梳理。
VSCode中的使用
ssr
ssr连接配置问题,本项目利用git托管到了阿里云,离开了github,感觉一切操作都从零开始,没懂使用的原理。
ssh-keygen -t rsa -C " ” 生成秘钥,保存在本地
DSA 只能用于数字签名,而无法用于加密
RSA RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制
push 不成功,
原因我在写的东西已经落后于origin master的head 解决方式:存快照,git pull 再修改
或者git fetch解决冲突,git add 再 git commit 之后push便会解决问题

git pull不成功,原因产生了没有push的修改
解决方式:
a. 保留本地的更改:git stash git pull git stash pop
b.放弃更改: git reset --hard git pull
c. git fetch 是 ok的,git merge不成功,原因工作区和远程有冲突,修改冲突后commit到版本库,再pull即可

git reset 加不加 --hard的区别
git reset HEAD操作只对暂存区起效果(add了的) 为回到当前版本
git reset HEAD^ 回退到上一个commit的版本
有了参数--hard,直接把工作区的内容也修改了(彻底回退到某个版本,本地的源码也会变为上一个版本的内容)


git pull origin master:master (正式不简写的方式)
git pull <远程主机名> <远程分支名>:<本地分支名>
登录问题
https://blog.csdn.net/qq_37460847/article/details/105568376
善用git status查看当前工作状态
Changes to be committed:表示已经从工作区add到暂存区的file(文件或文件夹),可以通过 git restore --staged filename 命令将该file从暂存区移出
Changes not staged for commit:表示工作区,暂时区都存在的file(文件或文件夹),在工作区进行修改或删除,但是没有add到暂存区,
Untracked files:表示只在工作区有的file(文件或文件夹),也就是在暂时区没有该file。
-
git中什么时候合并会引发冲突

git checkout命令加上-b参数表示创建并切换 (相当于)
$ git branch dev
$ git checkout dev
即 git checkout -b dev
Git bash中使用
创建仓库:




上传文件
因为之前创建过SSH Key,此次直接上传自己最近在做的项目





查看状态


在原有的项目中添加一个新的文件:



。
版本回退


分支管理


在两个不同分支下查看文档里的内容

Merge以后

删除dev分支

两个分支都改变无法merge

查看文件内容

查看合并的过程


浙公网安备 33010602011771号