IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git 的基础用法 -> 正文阅读

[开发工具]git 的基础用法

git 是什么?

?开源 分布式的版本控制系统,在我们写代码的时候每天记录一个版本,方便我们记录或者回退版本。

git的三层结构

git 中有三个区域

1.工作区

2.暂存区/缓存区

3.版本库

git使用

git 项目的路径中如果出现中文? 可能会出现一些奇奇怪怪的问题

初始化?

gie init? ? ? ?是在你当前初始化的这个仓库里面生成一个 .git 的文件夹,这个文件夹千万不能删或者修改了,因为其中保存着我们之前的版本信息,如果删了那么之前我们所有的版本就没有了如果没有,点击左上角查看,把隐藏项目勾上。

查看工作区的文件状态

gie status? 如果出现红色的文件,那么就表明本地的工作区有文件没有被 git 所管理

把工作区的文件提交到暂存区

git add .? ?代表将工作区所有的文件推到暂存区,这时在查看一下状态,发现刚刚的红色文件,变成绿色的,那么就表明当前的文件已经成功被暂存区所管理了。

把暂存区的文件提交到版本库

git commit -m "你本次的提交注释"

查看下我们的提交信息

git log 查看一下当前的提交信息

当我们修改了文件夹里面的内容,想要再次提交那么我们也可以直接文件直接从工作区交到版本库

从工作区直接提交到版本库,跳过暂存区

注意:要是用如下命令前提是 必须按照上面的流程正常的提交一次(工作区到缓存区? 再到版本库)

git commit -am "本次提交的注释"

git修改最近一次提交的注释

注意:有两个 - -? 这个时候git界面你按下左右键 发现光标在移动 但是你此时还是无法修改你提交的注释,这个时候你要在当前的窗口下 将输入法切换到英文状态 然后按下 s 键? ?移动光标就可以删除和修改了(一定要在英文状态下否则无法删除或添加)

修改好之后? 按下Esc 在最下面输入? :wq? 然后就自动退出你当前的页面了

git commit --amend

把暂存区的内容替换成工作区

注意 :git checkout空格--空格文件名? ?

git checkout -- 文件名? 当我们修改了代码之后发现怎么也弄不好? ?那么就可以回到上一次好的版本

拉取指定版本库的内容替换暂存区

git reset commitid? 用id(a690bedb585ab68082ea7bd8396cc9828a7023f9?)替换commitid

git reset?a690bedb585ab68082ea7bd8396cc9828a7023f9

修改当前工作区的文件名

mv 旧名字 新名字

git分支

每个版本控制系统中都会有一个分支这种操作 只是git中操作分支的速度更快效率更高

举个例子 假设我们准备开发一个项目的新功能,但是这个功能需要两周才能开发完 第一周我们写了百分之50 但是如果我们直接提交可能会造成项目报错无法运行? 那么这个不完整的项目 也会造成你同事没有办法干活了? 但是如果等着你的代码写完你在提交 又会面临着代码丢失的风险

所以有了分支就不怕了? 我们可以创建一个属于我们自己的分支? 这个分支是独立的? 不和其他人分享 那么这样一来我可以把代码传递到我这个分支上? 避免了代码的丢失 也不会影响其他同事工作

查看本地分支

git branch

新建分支

git branch 新建的分支名

切换分支

git checkout 要切换的分支名

删除分支

git branch -d 你要删除的分支名

修改分支名

git branch -m 旧名字 新名字

合并分支

要合并 先切换到主分支上?

git merge 你要合并的分支名

解决冲突

如果今后工作中代码出现了 <<<<<HEAD

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ===========

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?>>>>>

这个就叫代码冲突了

出现原因

同一行出现了不同的代码? git 不知道我们需要删除谁 或者保留水 git 就直接用这些符号给我们表示出冲突让我们自行修改

解决方式

你和谁冲突? 你就把谁叫过来? 两个人一人一杯茶? 两个人慢慢删

将版本库里面的所有内容上传到远端

git remote add origin 仓库地址? ? ?告诉git要上传到哪

remote? 远程的意思

add? ? ? ? 添加的意思

origin? ? ? 是一个变量名

git push -u origin master? ?上传内容,上传到哪里的地址我们上一步已经添加好了,表示把内容上传到origin 这个地址, master 是上传到远程的master 分支

-u 是我们第一次使用的时候才会用,目的是为了记录一下用户和密码

下次上传就不需要再写了

git push 第二次上传直接这个命令就可以了

git 克隆

git clone 仓库地址

git下拉

git push

???

特殊的一个命令?

git push -f? 这个命令开玩笑的 ,工作中千万不要用这个命令,表示将目前自己本机的代码库强行推送到远端,并且覆盖,大概就是 除非只有自己一个人使用,不然用push -fore 的都该去死

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:41:27  更:2021-12-24 18:41:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:07:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码