Git介绍
git是一款开源免费的分布式的版本控制系统,是一个应用程序
作用
版本控制系统在项目开发中作用重大,主要的功能有以下几点
代码备份
版本回退
协作开发
权限控制
下载安装
下载地址:https://git-scm.com/
安装方式于qq安装相同,一路下一步,中间可以设置软件的安装路径
Linux常用 命令
Linux是一套开源的免费的操作系统。与系统的交互通常用命令来实现,常用命令有:
ls:查看当前文件夹下的文件 list单词缩写
cd:进入摸个文件夹 change directory 缩写 cd ..返回上一层 进入d盘:cd /d Tab提示完整
clear 清屏 快捷键 ctrl+L
mkdir 创建文件夹
touch 创建文件
rm 删除文件夹
rm dir -r 删除文件夹 -r删除文件夹选项 -f强制force
mv 移动 重命名
cat查看文件内容
ctrl+c 取消命令
Tab自动补齐路径
上下方向键 可以查看命令历史记录 history查看所有历史命令
Vim是一款命令行下的文本编辑器,编辑方式跟图像化一样
vim test.html 编辑文件 a o i进入编辑模式 ESC + wq 保存退出 ESC + q! 不保存退出
ctrl+insert 复制
shift+insert 粘贴
Git使用
起始配置
第一次使用git的时候 会要钱我们配置用户名和邮箱,用于表示开发者的信息
git config --global user.name 'zhanghao'
git config --global user.email '837684734@qq.com'
配置之后查看 git config -l 自己的配置信息
基本操作
Git的起始操作包括一下几个步骤
1、创建并进入空文件夹
2、右键点击Git Bash Here启动命令行
3、git init 仓库初始化
4、创建一个初始化文件 index.html
5、git add index.html 将文件加入暂存区
6、git commit -m '注释' 提交到仓库
Linux 命令执行的潜规则
如果没有任何输出表面成功 ,如果出现 error、 fatal表明执行失败
git log 历史命令
git add 添加的是修改 ,而不是文件
git add -A 增加所有all修改
版本库的三个区域
工作区(代码编辑区)
暂存区(修改待提交区)
仓库区(代码保存区)
git ls -files 查看暂存区的文件
常用命令
git status 版本状态查看 如果显示的是红色修改,表面次修改只存在于工作区。如果是绿色修改 表面次修改只存在于工作区和暂存区
git add -A 添加所有新文件到暂存区
git commit -m '注释’ 提交修改并注释
git diff 查看工作区与暂存区的差异(不显示新增文件) 显示做了哪些修改
git diff --cached 查看暂存区与仓库的差异
git restore index.html将文件的内容还原未修改之前
如果第一次将本地仓库分支提交到远程时候,直接使用git push 可能会报这个错误,解决办法
git push -u origin master
历史版本回滚
回滚
查看历史记录
git log
git log --oneline
如果内容偏多,需要使用方向键上下
linux命令的退出操作:
ctrl+C
按q字母
输入 exit或者quit
切换版本:git reset --hard id
git reflog 查看所有版本编号
配置忽略文件
仓库中没有提交该文件
项目中有些文件不应该存储到版本库中,git中需要创建一个文件.gitignore 配置忽略,一般般与.git目录同级
常见情况有:
1.临时文件
2.多媒体文件,如音视频
3、编辑器生产的配置文件
4、npm安装的第三方模块
#忽略所有的.idea 文件夹
.idea
#忽略所有以.test结尾的文件
*.test
#忽略node_modules 文件和文件夹
/node_modules
在git主目录下 创建 .gitignore 文件 进行下面配置忽略
#忽略规则
#忽略当前文件夹下的app.swp
/app.swp
#忽略当前项目下所有名为 test.mp3的文件
test.mp3
#忽略指定后缀的文件
*.mp4
仓库中已经提交该文件
1、对于已经加入到版本库的文件,可以在版本库中删除该文件
git rm --cached .idea
2、然后再.gitignore中配置忽略
.idea
3/add和commit 提交即可
Failed to connect to github.com port 443: Timed out 及 ping github.com请求超时
1、 配置git proxy
如这样
git config --global http.proxy 127.0.0.1:1080为全局的 git 项目都设置代理
git config --local http.proxy 127.0.0.1:1080 为某个 git 项目单独设置代理
也尝试这样
但是无济于事
2、删除 proxy 配置
于是我直接 搜索 .gitconfig将其proxy 手动删除
试过任然不ok
在快要放弃的时候,我使用浏览器登录 https://github.com/ 出现了如下页面
看到这个是否已经找到了问题所在
于是到window 中找到了host 打开编辑
发现最后配置了一段github的 proxy 地址----其实这个是当初处理 git pull失败是做的github代理配置,具体见remote: HTTP Basic:Access denied fatal:Authentication failed for没想到为自己埋下了一个坑,哎
废话不多说,直接将代理的配置删除掉再次尝试
执行push 弹出输入密码的对话框,输出正确就 ,push执行成功
特此记录。
3、另一种(修改hosts)情况
今日在使时发现另一个问题,就是上面的方案无法解决当前的问题,
不管怎么修改都提示fatal: unable to access 'https://github.com/*.git/': Failed to connect to github.com port 443: Timed out
最后发现我平不通github.com(当时还以为被墙了,我就打开代理,发现也不行)
于是找到C:\Windows\System32\drivers\etc 下面的hosts文件打开(快捷键查询WINDOW+R 输入drivers)
查询到对应的IP
打开 https://site.ip138.com/github.com/
分别查询github.com和github.global.ssl.fastly.net的IP,把他填到hosts中进去
另一种查询github的IP:http://github.com.ipaddress.com/
和查询github.global.ssl.fastly.net的IP:http://github.global.ssl.fastly.net.ipaddress.com/
【温馨提示:】有得windows可能编辑不了hosts这个文件,我们可以修改该文件的操作权限
选中文件右键 > 属性 > 点击编辑 > 对users进行读写权限配置
然后将上面查询的ip添加到hosts中
设置完成后,现在再push试试 ,发现有登陆提示了
最后推送成功
如何将本地的代码上传到github
1、git clone https://github.com/CKTim/BlueTooth.git(https://github.com/CKTim/BlueTooth.git替换成你之前复制的地址)
2、这个步骤以后你的本地项目文件夹下面就会多出个文件夹,该文件夹名即为你github上面的项目名,如图我多出了个Test文件夹,我们把本地项目文件夹下的所有文件(除了新多出的那个文件夹不用),其余都复制到那个新多出的文件夹下,
3、接着继续输入命令 cd Test,进入Test文件夹
4、
.接下来依次输入以下代码即可完成其他剩余操作:
git add . (注:别忘记后面的.,此操作是把Test文件夹下面的文件都添加进来)
git commit -m "提交信息" (注:“提交信息”里面换成你需要,如“first commit”)
git push -u origin master (注:此操作目的是把本地仓库push到github上面,此步骤需要你输入帐号和密码)
Git报错解决:OpenSSL SSL_read: Connection was reset, errno 10054 错误解决
打开Git命令页面,执行git命令脚本:修改设置,解除ssl验证
git config --global http.sslVerify "false"