git学习笔记

git

分布式版本控制系统

拉取的远程仓库代码的地址

github中配置

常用git命令

克隆一份到本地

进入项目后,可以使用

git log

查看当前分支 及修改提交记录

远程的仓库名称 自动创建

git remote (origin)

可以更改

本地仓库 自动生成一个默认的主干分支 master=>origin/master 代码版本

本地仓库的代码目录即git的工作区

把工作区的代码改动,提交到暂存区当中

git add .

添加所有修改 git add main.cpp 添加指定文件

将暂存区的代码提交到本地仓库的代码分支上 此时是master分支 故提交到本地的master分支上

git commit -m "对当前修改的说明"

把本地仓库的代码 推送到远程仓库中 哪个仓库?origin

git push origin master

把本地仓库master的分支代码推送到远程仓库origin的master分支上

git branch

查看正在哪个分支上面工作

当前工作的 前面会有*

idea与git

在idea下用自带的vcs来完成git相关的操作

1、github创建一个新项目

关联远程分支

2、跟远程仓库进行关联

本地项目还未接入版本控制系统 创建git仓库

管理远程

对项目进行判断 哪些文件是无需进行版本管理

.mvn文件没有什么用 可以点击添加到.gitignore里面 不会进入版本管理

初始化

定义用户名称

创建分支

在我们做开发时候 一般不会在master上面做开发

master这个分支一般是用来接收别的分支合并过来的内容

右下角新建一个branch分支

提交的时候这个新建的分支 也会在远程的一个仓库里新建一个分支 往上推送

如何解决冲突

基不同 推送被拒绝了

git rebase 变基

rebase后是一条直线

git merge

提交的记录并不会合并到一条直线上面去 而是一条曲线 有一个merge节点在此合并了

cherry pick

防止代码污染或者从废弃的分支当中挑选一些提交的内容

下图可以发现test01是feature01上一个特有的提交内容 feature02上没有test01

利用cherry pick 产生一个新的提交记录 从别的分支把想要的内容合到现在的分支上面来

patch

防止污染代码,先不给git push的权限,在本地先写好代码,打一个patch包,给有权限的人提交

本地写了代码发现没用-》回滚

选择刚刚的patch文件导入

pull request

如果写好代码不直接merge,而是要让reviewer进行review一遍再merge

邀请进行review代码

git回滚与强推

找回代码 右键local history -> revert以下即可

vscode 与 git

如何查看是一个git的工程 在终端可看到

如果没有 用 git status

增加一个文件 文件名为绿色 产生U符号->untracked 表示没有被git跟踪的文件

修改的文件 变黄 产生M符号->modify 表示修改的文件

删除文件

git管理的界面

点击加号 文件被添加到Staged Changes 相当于在命令行执行git add操作 add之后被添加到暂存区

都添加后 Changes下面没有东西了 都在暂存区

右边可修改 左边只读

添加提交的message

git已提交

以下是顺手学的

ssh远程登录

基础知识

ssh是一种加密的网络通信协议

服务器客户端模式 c/s 默认端口号22

需要保证处在同一个局域网下面

免密登录

(无需使用密码)

别名登录

在客户端操作 即当前的电脑

免密登录

客户端keygen生成一个公钥一个私钥

通过ssh-copy-id的命令 把客户端机器上公钥的内容 复制到服务器的某目录下的文件如下

服务器可以接受多个客户端连接 可以配置多个

查看文件,无公钥私钥文件,公私钥文件开头是id

即成功

实际应用

scp命令行文件传输

传输大文件

传整个目录

可以可视化传输 Xshell XFTP

VSCode远程开发

下载插件remote ssh

点击

config文件的两个别名显示 点击即可连接服务器

打开了一个新的vs页面 左下角有变化

直接用当前页面连接

关闭在file中

github免密push pull

git push后需要输入用户名 和密码 非常繁琐!!

获取公钥之后 在github仓库的setting里

即成功 无需输入密码 https和ssh差不多

相关推荐
PyAIGCMaster2 小时前
docker学习记录:本地部署mongodb
学习·mongodb·docker
架构文摘JGWZ2 小时前
一键完成!!网页打包成桌面应用
开发语言·学习·开源软件·工具
灵魂画师向阳3 小时前
【CSDN首发】Stable Diffusion从零到精通学习路线分享
人工智能·学习·计算机视觉·ai作画·stable diffusion·midjourney
菠菠萝宝3 小时前
【Go学习】-01-1-入门及变量常量指针
开发语言·学习·golang·go·软件工程·web·go1.19
跳河轻生的鱼5 小时前
海思Linux(一)-Hi3516CV610的开发-ubuntu22_04环境创建
linux·单片机·学习·华为
跳跳的向阳花5 小时前
02、Docker学习,理论知识,第二天:基础概念与常用命令
学习·docker·容器
PyAIGCMaster5 小时前
Docker学习记录:安装nginx
学习·nginx·docker
Lumos_yuan6 小时前
Lumos学习王佩丰Excel二十四讲系列完结
学习·excel·教程总结
东京老树根6 小时前
Excel 技巧02 - 如何批量输入百分号 (★),如何输入百分号并指定小数位数,如何批量删除百分号,如何批量删除小数最后的0?
笔记·学习·excel·vba
don't_be_bald6 小时前
数据结构与算法-顺序表
c语言·开发语言·数据结构·学习·链表