github 创建网络仓库 ,使用git工具将本地文件上传/删除 --- 心得
1.前言
使用 git做项目控制版本工具,当然,使用SVN也可以,但是,git让人感觉更先进一些,与GitHub结合,用起来很方便,服务端由官网控制。
而SVN分客户端和服务端,都是个人控制,因此,会觉得相对安全一点,毕竟SVN存东西是在自己的服务里,而git是存在云端!!!
2.创建 仓库
(1)首先需要有一个自己Github账户,
官网地址 : https://github.com/
怎么注册就不说了,
登录后,点击右上角的加号

点击 new repository ,即新存储库的意思

(2)设置仓库信息

(3)仓库介绍


3. 下载git工具
好了,现在我有了一个仓库,仓库路径是 https://github.com/cen-xi/cen.git
现在我想要把文件上传到里面
还需要一个工具,git , 【分为 vim 指令框的 git bash , 以及 GUI界面 git GUI】
下载地址 : https://git-scm.com/downloads

4.配置测试文件
下载后改好安装路径后,基本按下一步即可,默认配置就可以了。
新建一个文件夹,名字随意

为了演示,我新建了3种不同文件和文件夹

现在我想把cc 和ee 文件上传到git仓库,但是又不想将文件夹 kk 和图片gg上传
于是需要做一个 .gitigore 配置文件将 kk和gg忽略操作

你会发现只保留后缀的文件无法创建,没关系,这需要用到 ren命令
cmd打开指令框 ,进入这个文件夹
输入 ren 22.gitignore .gitigore

看 ,出来了

对 .gitignore 文件 编辑,使用记事本打开,保存关闭

关键的一步:
需要新建一个 README.md文件 ,这个文件作为验证文件使用 ,如果仓库里的这个文件与本地电脑里的不同,会导致报错 无法 操作远程仓库 ,
如果新仓库创建还没有 README.md文件 ,可以在 GitHub 创建


当然也可以在本地创建,


注意 ,
(1)如果仓库里面没有README.md文件 ,第一次操作远程仓库 ,则本地README.md文件创建的内容可以随便写,上传后将作为验证内容 ,
下次做远程仓库操作则内容必须与本地同步,否则报错无法 操作仓库
(2)如果在GitHub创建已经 README.md文件 ,第一次操作远程仓库 ,则本地README.md文件创建的内容不可以随便写,必须与仓库的内容一样,
一般是直接从仓库下载,懒得写。
5.上传操作
好了现在,需要上传文件里
在当前文件夹鼠标右键
选择 Git Bash Here

会出来 vim指令框

依次输入内容
//初始化配置 ,新建 .git文件夹
git inti
//添加当前目录所有文件 ,【会自动识别 .gitignore文件忽略的文件不添加】
git add *
//提交添加的文件到缓存【存储文件操作,不仅仅是文件的添加,也可以包括文件修改、删除】
git commit -m "第一次上传文件,这是注释“
//添加仓库地址 ,这个可以在任何时候添加
git remote add origin https://github.com/cen-xi/cen.git
//将缓存的文件操作推送到远程仓库
git push -u origin master

输完最后一句话等一会会弹出账户密码输入框


出现上传进度,等一会,100%后

然后在GitHub 刷新页面查看 ,上传成过

6.上传报错-原因
有时候,你会发现报错了 ,,你会疑惑,以前都是这样上传文件的,为什么这里用不了?
情况一:
! [rejected] master -> master (fetch first)

情况二:
! [rejected] master -> master (non-fast-forward)

分析:
情况一 是因为 ,git仓库中的README.md文件不在本地代码目录中,或者与本地的README.md文件内容不一样。
情况二是因为 ,git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去,
可以使用指令 git push -f 强推 ,但不建议这样,这是直接覆盖,强制执行,导致原来的远程仓库里的东西全部被替换掉了,所以切记这种操作是不可取的,并且尽量在本地做出一些修改,然后再push到GitHub上
7.上传报错-解决
上面两种情况其实都可以用一样的办法解决,
就是将git仓库的readme文件与本地的合并即可,【当然,也可以将本地的内容修改的和git仓库的一样,也可以直接把git的文件拷贝下来替换掉本地的,】
(1)合并README.md文件
输入指令
git pull origin master --allow-unrelated-histories

再查看本地README.md文件,发现变化了,多了部分内容,那是git仓库的README.md文件内容

缺点是 仓库readme文件会更新,会与本地的合并文件相同
【.gitignore文件 无法把本地 README.md文件添加作为忽略配置】
注意:
但是,有时候 运行这句指令会抛出异常 ,意思是说,会覆盖本地 readme文件 ,因此,需要本地的readme文件移除,再执行,会自动从git仓库下载下来,如果需要将仓库readme文件修改,需要下载下来后再对其修改即可

有时候不仅仅提示 readme文件需要移除,还可能 有其他文件 也需要移除 ,只能先备份到其他地方,清除当前目录里面的这些文件,然后再运行指令,这些文件会从仓库下载,如果需要修改,将备份的文件将仓库下载的文件替换即可,不清除则无法同步文件

执行成功后,会弹出窗口

直接键盘输入 :wq 后回车即可退出 vim编辑

8.上传报错-测试
为了测试,我添加了个.txt文件

还是上面的上传操作 步骤,但是,如果已经有了 .git文件夹 ,则可以不写指令 git init

GitHub 刷新

9.报错-无法合并仓库readme和本地readme文件
上面提到 ,有时候 运行 git pull origin master --allow-unrelated-histories 这句指令会抛出异常

需要本地的readme文件移除,再执行,会自动从git仓库下载下来,如果需要将仓库readme文件修改,需要下载下来后再对其修改即可
现在来操作一下 ,
(1)移除本地 的 readme文件 ,执行 git pull origin master --allow-unrelated-histories
下载来的仓库readme内容

(2)现在修改 ,记得保存

(3)新加一个txt文件来测试

(4)运行上传指令

GitHub 刷新

10. .gitignore能不能忽略README.md上传?
(1)添加文件 04-ce.txt 用来对比

(2)在 .gitignore文件添加

(3)执行添加指令

会发现没有 readme文件 。。。。。
(4)将目录里面的 .git文件夹删除 ,再次执行添加指令

神奇的发现 readme文件出来了
(5)添加新文件 ,用于测试能不能上传

(6)执行指令
测试结果是仍然无法上传

(7)恢复readme测试 ,将readme文件从.gitignore里去除

再次上传执行指令 ,奇怪是 ,仍然失败 ,无法上传 ,很奇怪

(8)运行上面解决该报错的步骤

GitHub 刷新,文件上传成功,【名字懒得改,将就使用即可】

11.删除指定文件
使用 git rm 【文件名】 删除
我要删除 cc.txt

指令

刷新GitHub,发现已经删除了

当然 也可以在GitHub里面删除 ,删除 ee文件
(1)

(2)

(3)

(4)

(5)好了,回到目录发现已经删除

12.删除全部文件
如果 .gitignore 文件有设置 文件信息 , 这些文件信息则不会被选中

同时 指令 git rm * 将会报错 ,表示文件无法选中

有时候 即便 gitignore文件里面没有设置,但还是有些文件不能选中,需要将文件添加后再删除

文件夹 需要指令 rm -r 才可以删除 ,

rm不能删除,会报错

删除kk,先演示删除文件
运行指令git rm * 后,本地文件夹目录会删除文件

指令

刷新GitHub,发现全部文件都没了。。。包括 readme文件。。。。。所以,请慎用,公司开发会被打死

13.查看-新建-切换 分支
分支用于大版本的改动

指令说明
//查看当前分支
git branch
//新建分支,newbranch是新分支名字,可以自定义
git branch newbranch
//切换到指定分支
git checkout newbranch
---------------------------------
参考博文原址 :
https://blog.csdn.net/u012145252/article/details/80634768?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
https://blog.csdn.net/xieneng2004/article/details/81044371
https://blog.csdn.net/u013452337/article/details/81360210
https://www.jianshu.com/p/2c9ab8c44775
github 创建网络仓库 ,使用git工具将本地文件上传/删除 --- 心得的更多相关文章
- selenium+python自动化测试系列(二):AutoIt工具实现本地文件上传
AutoIt使用简单说明 AutoIt的安装这里就不在啰嗦,可以参考AutoIt安装或者自行搜索解决. 第一步:定位上传文件路径的文本框 这里举例说明,如何定位?如图 这里我们看到上传文件的类型是bu ...
- 使用git工具将本地电脑上的代码上传至GitHub
本文教你如果使用git工具将本地电脑上的代码上传至GitHub 1.安装git工具 安装git链接 2.使用git工具上传自己的代码到GitHub中 安装完git工具之后,我们会得到两个命令行工具,一 ...
- Git 使用,本地项目上传到GitHub远程库
Git 使用,本地项目上传到GitHub远程库 环境 GitHub账号 点此进入github官网 git客户端工具 点此进入git下载页 本地项目上传到 GitHub 在GitHub中创建一个仓库(远 ...
- 如何把本地文件上传至github?
(都说git好用,但我觉得git把我弄得像个git……在反反复复用git bash的命令行上传失败了N次之后,终于可以用命令行把文件上传到GitHub了 这中间,还要感谢网络上的各种git教程!!!) ...
- 通过git将本地文件上传到码云的方法
1. 在码云上创建项目 在码云首页顶部,下图所示,右上角头像旁边的加号,鼠标移上去会显示下拉的,点击“新建项目”. 2. 安装Git 下载完成后安装即可,安装过程中没有注意事项,全部默认一直next直 ...
- 对于运用git将本地文件上传到coding总结
首先需要在你的本地磁盘下建立一个目录,并且进入该目录. 前几次课程上有讲到&的用法,&&表示并且. 命令 ”makir 文件名 && cd 文件名”,cd指进入 ...
- ios开发网络学习十二:NSURLSession实现文件上传
#import "ViewController.h" // ----WebKitFormBoundaryvMI3CAV0sGUtL8tr #define Kboundary @&q ...
- 【git】将本地项目上传到远程仓库
飞机票 一. 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可: htt ...
- 使用Git命令把本地项目上传到github上托管
(1)在github上,新建一个仓库 (2)打开git-bash,进入项目目录下 (3)git init (4)git add . (5)git status (6)git commit -m &qu ...
随机推荐
- 【JavaWeb】【MySQL】【edu01】jdbc.properties配置文件的编写
前提准备 导入 mysql-connector-java-版本号 的jar包 下面为大家提供几个jar包下载地址 点击进入下载界面 >>推荐 MySQL官方 多版本选择 点击进入下载界面 ...
- 测试工具_siage
目录 一.简介 二.例子 三.参数 一.简介 Siege是一个多线程http负载测试和基准测试工具. 1.他可以查看每一个链接的状态和发送字节数 2.可以模拟不同用户进行访问 3.可以使用POST方法 ...
- 子组件dispatch导致其他页面刷新问题解决
问题: 现在有一个页面,包含"项目基本要素"和"供应链管控要素"多个组件,其中一个组件有表单级联,通过产品类型的不同选取去调接口获得产品名称的下拉 调接口是通过 ...
- thinkphp or查询
$map['source'] = array(array('eq',0),array('eq',1), 'or'); $this->model->where($map)
- android 使用 perfetto 抓取atrace
最近项目的原因需要抓自定义的一些atrace,发现使用google 自带的systrace python脚本抓出来的log使用chrome已经打不开了. 想着用用比较时髦的perfetto吧,发现无论 ...
- 这样学习ZooKeeper离大厂所需技能要求还远吗
概述 定义 Apache ZooKeeper是一种用于构建分布式应用的高性能.高度可靠.开源的分布式协调服务,提供如配置信息维护.命名.分布式同步.组服务等功能,可以实现如分布式共识.组管理.领导选举 ...
- mysql联合查询更新数据库例子
mysql联合查询更新数据库例子,用户表,部门表,把用户表中的部门属性更新为部门表的主键UPDATE user_table AS utINNER JOIN belongdept AS bd ON bd ...
- 从go程序中发消息给winform(C#)
背景: 1.服务端语言为GO,客户端语言为:C#(WinForm): 2.在客户端操执行长耗时任务时,服务器应该将后台日志或定时将心跳信息及时传递给客户端,这样方便用户查看服务器执行情况(重要). 一 ...
- jQuery实现页面导航内容定位效果,并支持内容切换
需求 页面向下滚动时,需要将顶部的搜索栏信息和导航菜单吸顶,并且,搜索栏信息和导航菜单之间可以切换. 效果 https://www.iguopin.com/index.php?m=&c=ind ...
- 【LeetCode】490. The Maze 解题报告 (C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 BFS 日期 题目地址:https://leetcod ...