系列文章目录

项目实践常用git指令总结

文章目录

  • 系列文章目录
  • 前言
  • 一、综合应用
    • 1.1 文件pull到工作区
    • 1.2 文件push到远程仓库
    • 1.3 撤销工作区的所有修改并删除暂存区文件
    • 1.4 某个文件夹中含有.git,导致文件夹无法提交
    • 1.5 修改远程仓库地址
  • 二、问题汇总
    • Q1. git遇到 modified content 无法提交问题
    • Q2. 新增文件git status无法显示
    • Q3. Git报错: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
  • 三、参考文献
    • 3.1 网络资源
    • 3.2 书籍
  • 总结
    • 住在布达拉宫, 我是雪域最大的王。
    • 流浪在拉萨的街头, 我是世间最美的情郎。

前言

  上一篇文章介绍了Git在项目中常用的基本命令,本篇文章更接近项目实际,主要介绍Git的综合应用及常见问题。

一、综合应用

1.1 文件pull到工作区

 git pull会把本地未提交修改覆盖,因此我们在pull之前需要将当前工作区修改等add到本地存储区后然后使用git stash命令进行暂存。git pull的目的是让本地仓库的源码修改合并到远程库中或者实现代码同步,因此,我们pull是为了本地commit 和远程commit 的对比记录,如果没有冲突的时候就直接合并了。git pull = git fetch + git merge1)$ git stash将本地修改暂时存储。可以使用git stash list看到保存的信息,其中stash@{0}为刚才保存的标记。虽然只是显示了commit注释里面的内容,但其实当前的修改记录已经被暂存。

   2)$git pull将远程仓库的分支源码拉到本地仓库,Already up to datae 说明本地仓库和远程仓库同步。

   3)$ git stash pop还原暂存的内容。可能提示当前修改需要保存,即保存的修改相对pull的源码有所改动需要保存。

1.2 文件push到远程仓库

    push之前我们最好使用pull进行文件同步,确保是在同步前提下作了修改再push。

   在推送(push)操作之前,建议使用git show命令检查文件代码变化,默认为最新一条的log.Push成功后,建议在另外一个空的目录中或在另外一台机器上使用 git clone 克隆出完整的文件代码验证。

1.3 撤销工作区的所有修改并删除暂存区文件

   git reset --hard HEAD : 将stage area中未提交的file回滚到之前的commit状态git clean -d -f 删除未跟踪的目录和文件

1.4 某个文件夹中含有.git,导致文件夹无法提交

   首先修改根目录下的.gitignore文件并提交。只有先提交了.gitignore文件后,仓库才能在文件提交时“筛选”指定文件夹中的文件,.gitignore文件不能和文件夹修改同时提交。最后提交文件夹的文件。此时,上传到github仓库中的该文件夹就不含.git文件。但是本地仓库中文件夹中仍旧包含该.git文件,方便本地更新相关数据(比如:在线文件升级等)。以cJSON在线软件包为例,menuconfig配置下载后,该文件夹中包含.git文件夹,导致整个文件夹无法commit。

    修改根目录下.gitignore文件,新增忽略规则。

   缺点:这种方式提交者可以正常在本地升级软件。但是,从远程仓库下载的版本无法升级软件,因为升级文件夹中不含.git文件。

1.5 修改远程仓库地址

   由于远程git的地址发生变化(git仓库迁移),因此我们需要同步本地仓库到最新的git仓库地址。那么出现一个问题,怎样修改远程仓库地址呢?步骤如下:1)首先通过命令行查看本地旧的远程仓库地址git remote -v其中,v = verbose(详细的)2)查看复制最新git所需仓库的URL必须为仓库的根目录,而不是某个分支的地址。3)通过命令行修改远程仓库地址git remote set-url origin [url]建议修改后,通过git remote -v再次确认。【举例】git remote set-url origin http://helloworld.com:2009/ file/template4)通过git pull 将远程仓库的源码拉到本地可能需要输入用户名和密码进行验证【问题】Q1:在git pull时出现git remote: HTTP Basic: Access denied 错误。A1: 由于本地git配置的用户名、密码与gitlabs上注册的用户名、密码不一致导致。可参考如下连接进行解决:

参考链接

二、问题汇总

Q1. git遇到 modified content 无法提交问题

A1: 这是因为文件夹下存在.git, 导致添加出错。
方案a. 删除掉.git后,尝试重新添加,如果失败使用方案b;
方案b. “先删后增”。备份文件到项目外,然后git add让工作区知道有文件删除,在项目外将.git删除后,复制到原位置,然后再次git add 让工作区知道有文件添加。注意,不能删除后不git add就立马拖进来,这样仍旧会失败。
方案c. 尝试修改.gitignore文件得托管规则,使远程服务器忽略特定文件夹下的.git文件夹。

Q2. 新增文件git status无法显示

A2: git add -f 文件完整路径  其中,-f 为—force强制将他们添加进来

Q3. Git报错: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

A3: 输入 git config --global http.sslVerify false 禁止掉ssl验证即可。

三、参考文献

3.1 网络资源

Git语言
快速入门1
快速入门2
Git官网

3.2 书籍

 1)git官方文件《Pro Git 第二版(中文版)》

总结


住在布达拉宫, 我是雪域最大的王。

流浪在拉萨的街头, 我是世间最美的情郎。

Git综合应用及常见问题汇总相关推荐

  1. 《基于Linux物联网综合项目》常见问题汇总fae

    关于该课程说明 1)本课程目标 通过web浏览器访问服务器,实现登录.注册.数据库操作.远程操控硬件.采集环境信息.远程监控.拍照.图片显示等功能. 将单片机.linux.html.摄像头.数据库等知 ...

  2. Go下载第三方包、git下载包:常见问题汇总

    1.go get google.golang.org/grpc 提示网络不通,如下图: 解决方法:go get google.golang.org/grpc 解决办法汇总_年少~年的博客-CSDN博客 ...

  3. 中南大学python试卷_中南大学考研常见问题汇总

    原标题:中南大学考研常见问题汇总 地学考研中心邀请19年地址工程成功上岸的研究生为大家进行了一次有关中南大学考研常见问题的做答会,地学君特意整理了部分问题,希望可以帮助到考中南大学的学下,关注&quo ...

  4. exec不同文件l怎么汇总_ABAQUS常见问题汇总 - 2.0版.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 ABAQUS常见问题汇总 - 2.0版.doc1 ...

  5. 使用maven下载依赖包及maven常见问题汇总

    最近下载了SPRING3.1.4,发现只有SPRING相关的源码,没有其依赖的jar包.SPRING依赖的jar相当多,自己一个一个的下载比较费劲,就仔细阅读了SPRING下载说明,新版本的SPRIN ...

  6. java 遇到的问题_Java常见问题汇总(一)

    原标题:Java常见问题汇总(一) 每天在写Java程序,其实里面有一些细节大家可能没怎么注意,这不,有人总结了一个我们编程中常见的问题.虽然一般没有什么大问题,但是最好别这样做.另外这里提到的很多问 ...

  7. 系统部署常见问题汇总

    系统部署常见问题汇总 文章目录 系统部署常见问题汇总 引用文件路径问题 前端代码兼容IE问题 IE不支持Promise问题 IE浏览器GET请求缓存问题 前端代码混淆问题 npx的使用 IE兼容new ...

  8. 集成 jpush-react-native 常见问题汇总 ( iOS 篇)

    给 iOS 应用添加推送功能是一件比较麻烦的事情,本篇文章收集了集成 jpush-react-native 的常见问题,目的是为了帮助用户更好地排查问题 1.收不到推送 确保是在真机上测试,而不是在模 ...

  9. fastText中常见问题汇总

    fastText中常见问题汇总: 1.什么是fastText fastText是一个用于文本分类和词向量表示的库,它能够把文本转化成连续的向量然后用于后续具体的语言任务,目前教程较少! 2.为什么训练 ...

最新文章

  1. 用反射动态创建对象,类型无法转换的困惑
  2. 一文说清AI智能平台
  3. nginx.pid failed (2: The system cannot find the file specified
  4. PHP函数处理方法总结
  5. Git的Patch功能
  6. java和python哪个学习编程_初学编程,选Java还是Python?
  7. Python学习10 内置属性 对象属性 类属性 私有属性 私有方法 对象方法 类方法 静态方法
  8. 在Eclipse里搭建Go开发的环境
  9. php动态页面在ie浏览器中css布局板块全缩在中间,CSS网页布局开发时的常见问题及解决方法...
  10. 《搭建Centos7之一》
  11. bat之启动与禁用网卡
  12. AjaxPro.Dll运用
  13. 奥数题-求空间4点构成的四面体体积
  14. goap git上的v sploreg/goap
  15. 关于win10系统安装了DirextX组件,游戏里却没有声音的解决方法
  16. MySQL数据库的索引、事务和存储引擎
  17. 解答为什么@Autowired使用在接口上而不是实现类上
  18. 5g理论速度_5G的速度到底能有多快?
  19. 大数据技术有哪些应该重点学哪些知识
  20. 为什么评论会被折叠?

热门文章

  1. WORD排版-目录管理/标题排版
  2. MYSQL中AS(取别名)
  3. DEP6957: 未能使用“通用身份验证”连接到设备“127.0.0.1”
  4. apollo决策规划学习--施工绕行
  5. Oracle查询表空间
  6. 阿里云产品试用更新,产品组合试用装更划算,快来免费上云吧
  7. 【ONE·C || 初识C语言 】
  8. JAVA-【1】配置
  9. curl命令发送Post请求
  10. 区块链赋能金融服务新价值