码迷,mamicode.com
首页 > Web开发 > 详细

github 创建网络仓库 ,使用git工具将本地文件上传/删除 --- 心得

时间:2020-05-18 19:11:31      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:svn   右上角   HERE   code   出现   epo   博文   技术   ase   

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工具将本地文件上传/删除 --- 心得

标签:svn   右上角   HERE   code   出现   epo   博文   技术   ase   

原文地址:https://www.cnblogs.com/c2g5201314/p/12903089.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!