一、到github或者码云上建立一个私有或公开仓库(这里以github为例)

创建成功后我们得到了一个仓库地址,github上的操作完成,现在去项目内捣鼓

二、提交本地文件并推送

1、我是用命令的格式上传项目,首先要安装github :官方的下载地址:https://git-scm.com/downloads/,下载好直接安装即可。

2、进入需要上传的项目文件夹中(上传XXX项目,在本地就进去XXX项目即可)。

3、进入要上传的项目目录 点击鼠标右键 选择 Git Bash Here

4、输入git init ,是为该项目成为本地git仓库,之后会生成一个.git文件。如图:

拓展开始 如果有不提交的文件则创建 .gitignore 文件,建立下面的规则(比如vue的springboot的target目录):

可输入git status 查看会提交推送的文件

拓展结束

5、输入命令 git add . (注意是 git add 空格 . ),该命令把本地项目中的所有文件添加到刚刚生成的git仓库

6、输入命令 git commit -m "这里是提交时候添加的注释"  比如  git commit -m "debug"

7、git remote add origin 刚刚创建的github,码云仓库的地址 比如 git remote add origin git@github.com:MPengYu/test.git

拓展开始 怎么修改推送地址,比如我又建了个新仓库想把代码放上去(无需求可不操作):

(1)修改命令git remote set-url origin url

(2)先删后加git remote rm origin git remote add origin url

(3)直接修改config文件

查看远程仓库地址:git remote -v

拓展结束

8、(第一次提交可不操作)输入命令 git pull origin maser 拉取 ,该命令是把本地仓库更新和远程仓库一样

9、输入命令 git push -u origin master 推送 提交文件,会出现输入账号(邮箱)和密码,输入就好了。

10、最后我们在github或者码云上的项目文件就可以看见我们上传的文件了

拓展开始 多人协同开发的推送操作:

拉取pull,提交commit,推送push。为啥要不能直接commit再push呢?

我一般先pull再commit再push,pull并不是把拉取下了直接覆盖,没冲突不影响我们修改后的代码,有冲突也会提示解决。

比如你从一个git log1,2,3,4,5,6的远程库拉取到了本地,另一个同事也拉取了同样的代码,而且你的同事先于你提交到远程了,此时远程的版本是1,2,3,4,5,6,7_new,8_new,而你当前只是本地的版本1,2,3,4,5,6,7_local,8_local,9_local,从这里你就能看出你前一部分和远程的一样,后一部分和远程的不一样,这个时候你不能正常推送上去的,如果你采取git push origin master --force,那么远程的版本就变成了1,2,3,4,5,6,7_local,8_local,9_local,之前你同事推送的7_new,8_new这两次推送被覆盖了,这不是大家想要的情况,因此需要git pull来将本地的版本合并成这样1,2,3,4,5,6,7_new,7_local,8_local,8_new,9_local,10_commit_merge,远程和本地的排序是按当时 commit 的时间来排的,最后一个10_commit_merge就是你本地和远程的版本,因为你们操作的是同一个库始终要保持代码的同步,所以一旦版本库发生改动同一分支下的所有人都要跟着去同步他,因为各开发各的直接往上推,git不能自动处理冲突。

拓展结束

最新文章

  1. Xdebug文档(七) 远程调试
  2. I2C 基础原理详解
  3. 如果asp.net mvc中某个action被执行了两次,请检查是不是以下的原因
  4. js加密解密
  5. SymmetricDS 数据库双向同步开源软件入门
  6. 系统调用wait、waitpid和exec函数
  7. prob
  8. 打造一个自动检测页面是否存在XSS的小插件
  9. 【Hadoop学习】HDFS中的集中化缓存管理
  10. CSS选择器介绍
  11. 通过SPList Definition自定义ListItem打开编辑详细页面
  12. C —— 零碎笔记
  13. win7-64bit 下oracle11g plsql 的正确安装
  14. poj1639 Picnic Planning 最小度数限制生成树
  15. 区块链下的io域名到底有多神秘?
  16. 讨论.NET Core 配置对GC 工作模式与内存的影响
  17. jq 中each的用法 (share)
  18. 在openjdk8下看Unsafe源码
  19. pip的更新问题
  20. byte数据常量池问题

热门文章

  1. iphoneApp Fidder设置
  2. 「浙江理工大学ACM入队200题系列」问题 J: 零基础学C/C++83——宁宁的奥数路
  3. 接入监控视频,为啥还需要对接厂商的SDK呢,不是有onvif这样的标准协议吗?
  4. 第2-2-4章 常见组件与中台化-常用组件服务介绍-分布式ID-附Snowflake雪花算法的代码实现
  5. jmeter分布式压测对master、slave防火墙配置
  6. Linux Framebuffer 实验
  7. Go语言核心36讲21
  8. WeetCode2滑动窗口系列
  9. 认证服务(keystone)
  10. linux内核源码下载地址