flash网站怎么做音乐停止,wordpress 5.2.1添加中文,苏州网站建设 苏州网络推广专家,智慧树网站的章节题做不了git 学习笔记
目录
一、git是什么 二、创建仓库
三、工作区域和文件状态 四、添加和提交文件
五、回退版本 #xff08;了解#xff09;
六、查看差异
七、删除文件 八、.gitignore文件#xff08;了解#xff09; 九、github ssh-key配置 十、本地仓库和远程仓库内…git 学习笔记
目录
一、git是什么 二、创建仓库
三、工作区域和文件状态 四、添加和提交文件
五、回退版本 了解
六、查看差异
七、删除文件 八、.gitignore文件了解 九、github ssh-key配置 十、本地仓库和远程仓库内容推送 一、git是什么 git是分布式主流版本管理控制系统 结合GitHub管理托管平台使用 使用一个叫仓库的数据库来控制文件的变化仓库中的每个文件都有一个完整的版本历史纪录可以看到提交者在什么时间修改了哪些文件的哪些内容需要时可以回退历史版本 二、创建仓库 方式一在自己的电脑本地直接创建一个仓库 创建一个作为项目仓库的文件夹 mkdir 文件夹名
然后进入该目录下 输入命令 git init
或者在已有本地项目文件夹直接初始化
git init
出现以上回显语句说明创建成功而且会多一个隐藏文件夹 .git
ls 看不到隐藏文件夹要 ls -a 才能看到目录下所有文件夹 当然可以直接初始化一个仓库直接在命令后加上 仓库名会直接生成对应文件夹
git init my-repo 方式二从远程服务器上克隆一个已经存在的仓库 git clone github/gitee项目地址
例如git clone https://github.com/jjw-DL/OpenPCDet-Noted.git 三、工作区域和文件状态 工作区电脑里实际可以看到的目录
暂存区也叫索引用来临时存放未提交的内容一般在.git目录下的index中
本地仓库Git在本地的版本库仓库信息存储在.git这个隐藏目录中
远程仓库托管在远程服务器上的仓库如github\gitlab\gitee 文件状态
已修改修改了文件但没有保存到暂存区
已暂存把修改后的文件放到暂存库
已提交把暂存区的文件提交到本地仓库
主要是以上三种下两种较少提
未跟踪新建的还没有被git管理起来的文件
未修改已经被git管理起来内容未被修改
下图为部分转换关系 四、添加和提交文件
git init //创建仓库
git status //查看仓库状态
git add //添加到暂存区
git add *.后缀名 //添加一类文件到暂存区
git add . //把当前文件夹下所有文件添到暂存区
git commit //提交
git commit -m message //提交所有暂存区的⽂件到本地仓库
git commit -am message //提交所有已修改的⽂件到本地仓库
git log //查看提交记录信息
git log --oneline //查看提交历史--oneline表示简介模式ps:
git diff //查看未暂存的⽂件更新了哪些部分
git diff commit-id commit-id //查看两个提交之间的差异git ls-files //查看暂存区的文件例如查看状态 这是已经提交完成的状态
刚创建的未跟踪的文件是显示红色的
git add 可以使用通配符添加多个同后缀文件
例下有四个红色未跟踪状态下的文件txt和sh都有 把以txt结尾的文件添加进暂存区使用命令
git add *.txt
运行命令后查看status状态 绿色表示在暂存区红色表示在工作区未添加到暂存区 git commit只会提交暂存区中的文件不提交工作区的文件 五、回退版本 了解 git reset git reset --soft //工作区和暂存区都不清空
git reset --hard //工作区清空 暂存区清空
git reset --mixed //工作区保留 暂存区清空 --默认此场景 例如下面三次提交 下面是 git log 查询的版本号 复制三份用来熟悉三种参数操作 例尝试soft回退 查看提交历史 退到第二次提交了
工作区文件还在内容未变暂存区文件也还在 查看状态回到了第二次提交版本此时 file3 还未提交仍在暂存区显示绿色
hard参数回退到上一版本工作区暂存区file3都没了 mixed参数回退到上一版本工作区还有暂存区没了 六、查看差异 七、删除文件
rm file ;git add file //本地工作区删除文件然后暂存删git rm file //从暂存区和工作区同时删除git rm --cached file //暂存区删除保留在工作区中git rm -r * //递归删除某个目录下所有子目录和文件删后提交下ps:
git mv file new-file //移动⼀个⽂件到新的位置 关于rm 后要add, 看到单纯rm后暂存区并没删除所以有git rm file这个命令一次就好 但还是记得 git commit 提交不然删除的文件在版本库中还是存在的 八、.gitignore文件了解
作用是让我们忽略掉一些不应该被加入到版本库中的文件让仓库体积更小更干净 九、github ssh-key配置
github建立仓库后有https 和 ssh 两种方式的远程仓库地址
https开头的方式在我们需要把本地代码push到远程仓库的时候要验证账户和密码
git 开头的使用ssh协议这种方式在推送的时候不需要验证用户名和密码但需要在github上添加ssh公钥的配置更安全 github 配置ssh密钥
直接git clone 在github上的地址发现报无法建立连接 键入
ssh-keygen
回显密钥文件生成位置直接回车跳出设置二次验证密码没必要直接回车再回车确认空填二次验证密码 如下图成功 记事本打开公钥.pub 文件全选内容复制 打开github页面头像处点击进入settings, 左侧栏找到ssh and gpg keys 进入点击add keys 如图可以取一个名字 可能会跳出验证github的账号密码输入就行 可以测试一下连接输入如下命令
ssh -T gitgithub.com 测试通过 总结 十、本地仓库和远程仓库内容推送
再次克隆我们创建的github仓库克隆成功 复习一下添加命令以及推送到平台
进入仓库创建个小文件写入 hello git add 添加到暂存区git commit 添加到本地仓库 此时github还是看不到我们的hello.txt的
因为没有从本地仓库推送到远程平台仓库
所以执行 git push 命令 此时刷新 github 仓库页面发现已经推送成功 十、关联本地仓库和远程仓库 git remote add origin ....github仓库地址....
----------------------------
git branch -M mian //指定分支名称为main
----------------------------
git push -u origin main
//把本地的main分支和远程的origin别名的仓库的main分支关联起来
//其实完整语句应该是
//git push -u origin main:main
//如果本地分支和远程分支名字相同的话就写一个main就行啦----------------------------
git pull origin main
//远程仓库上在线修改了文件的话或者其他人的本地仓修改了推上去
//而我们在本地仓库要同步的话需要拉取同步这时要使用pull
//作用是把远程仓库的指定分支拉取到本地进行合并
以刚才例子做说明步骤 可以看到现在远程仓库对应别名就是 origin 后面就是对应地址 push 具体例子上一节有
示范一下 pull 操作
github上在线新增一个 readme 文件 不输入别名 分支名 则默认仓库别名为origin分支为main 本地仓库新增了修改的新增readme文件 查看内容一致 注意执行完pull会自动执行合并操作如果远程仓库修改内容和本地仓的修改内容没有冲突的话合并操作就会成功否则会冲突失败需要手动解决
fetch 命令也可以获取远程仓的修改但不会自动合并具体冲突问题在学习分支时再记录
小节总结 2023.8.7