前情提要:工作有时候负荷比较小,会接一些咸鱼上的活儿或者自己学点软件技能,这时候会出现一个情况,公司笔记本一般不带回家,家里台式机,白天在公司摸鱼编辑的文件,晚上回家想接着干怎么办呢,或是晚上在家干的文件,白天在公司怎么接着摸呢?U盘肯定太慢了,不方便,之前一直用的百度云盘,还充了会员,但是也比较麻烦。很久之前就对git和GitHub这两个工具有所了解,但没有好好加以利用,因为觉得有点复杂,前天看到一篇文章(最后给出链接)介绍了如何用给git和GitHub协同做工,非常符合我上面的需求,钻研一晚成功实现,下面开讲:

  1. 首先下载git和GitHub客户端。,然后新建一个文件夹,这个文件夹就是一会儿你要在两台电脑间同步的文件夹,里面之后就放你的项目文件,然后在文件夹上右键点击Git Bash Here,弹出git的命令行窗口,输入指令:
ssh-keygen -t rsa -C "你的github邮箱"

回车,他会问你要一个passphrase,直接回车,再问一遍再回车,之后他会生成一个公钥(可以百度了解一下)位置一般在c/user/..../.ssh/id_rsa.pub

可以用记事本打开查看复制。

2.网页打开GitHub,登录,点击你的头像,点击setting,左侧栏点击ssh and gpg keys。 点击new ssh key ,然后title自己取一个自己喜欢的,key type不变,最后将第一步的id_rsa.pub中的文本除了最后等于号后面的油箱不要复制,其他全部复制进去,最后点击add ssh key。

3. 然后随手在GitHub新建一个仓库

仓库名字就跟你第一步文件夹名字一样吧,并且添加一个readme file。

4.然后我们再回到第一步的命令行窗口,如果你不小心关了的话,重新在你要同步的文件夹上右键,选择Git Bash Here,输入命令:

git init

回车

git config --global user.name"自己账户的名字,建议就是github上的账户名,这样好记"

回车

git config --global user.email"自己账户的邮箱地址,建议也是用GitHub上的那个"

回车

git config --global -l //这条命令是用来查看上面的信息是否之前已经被输入了,自己检查下

回车,查看修改有没有成功。

从GitHub网页上这里复制你刚才新建的远程仓库的连接。

回到命令行运行:

git remote add origin 你复制的地址

这里是让你的本地仓库与远程仓库进行关联。

这里有一个地方需要注意,下一个指令有的帖子说的是git pull origin master,这里你需要理解一下git的分支理念,这里不再叙述,因为我自己也刚刚意会,还不能言传,我是通过指令

git checkout -b main

把本地切换成main分支,GitHub也设置为main,这样你本地仓库的东西会直接更新到远程仓库的main,否则会生成一个master分支,因为git这东西是要给团队协作用的,不同人提交的文件要先经审核才能从master合并到main中,但是现在就咱一个人用,就直接上传到main就行了。

再运行:

git pull origin main

pull是拉,push是推,很好理解pull就是把远程仓库的内容更新到本地来,还记得我们一开始远程仓库里的readme file么,此时如果成功的话,你的本地文件夹中会出现这个文件。

5.随后我们可以在本地文件夹中新建一个文本文件,随便打点字,保存。

在命令行输入指令:

git add .   //将所有的文件加入到index进行缓存

回车

git commit -m "你想加入的备注"  //将所有的文件提交到仓库当中

回车

git push -u origin main //将主分支本地的内容推送到GitHub上的远程仓库上

第一次要加-u,后面就不要加了。成功的话,你应该就可以在GitHub上看到这个新上传的文件。

之后的工作流程就清晰了:

晚上在家在这个文件夹里编辑完文件,比如你写的代码。保存完,打开git bash输入指令:

git add .   //将所有的文件加入到index进行缓存
git commit -m "你想加入的备注"  //将所有的文件提交到仓库当中
git push origin main //将主分支本地的内容推送到GitHub上的远程仓库上

就把文件提交了,白天到公司,在笔记本本地文件夹打开git bash输入指令:

git pull origin main

就把最新的文件同步过来了,接着干,干完提交,回家同步,爽!

对命令行操作不惯的朋友可以用GitHub的客户端。

你本地仓库文件夹变动后,GitHub会检测到,点击左下角commit to main,再点右边push origin

这是提交,然后是同步远程库是这样的

先点右上角fetch origin

检测到远程库的更新,最后点击pull origin,

大功告成!!!

参考链接:

https://www.cnblogs.com/schaepher/p/5561193.html

https://www.likecs.com/show-968187.html#sc=1804

使用git&GitHub通过两台电脑协同作业,助力办公室摸鱼的更多相关文章

  1. Python_架构、同一台电脑上两个py文件通信、两台电脑如何通信、几十台电脑如何通信、更多电脑之间的通信、库、端口号

    1.架构 C/S架构(鼻祖) C:client  客户端 S:server  服务器 早期使用的一种架构,目前的各种app使用的就是这种架构,它的表现形式就是拥有专门的app. B/S架构(隶属于C/ ...

  2. Cisco Packet Tracer中两台电脑通信设置

    Cisco Packet Tracer是网络初学者仿真模拟网络环境的必备工具.今天我们来模拟下两台电脑之间的通信. Cisco Packet Tracer版本6.2.0 一.添加设备 1.这里添加一个 ...

  3. 使用TCP在同一台电脑上可以建立连接,在两台电脑上却连接失败的原因分析

    最近在用unity做联机游戏,在网络方面费了不少劲,总是在代码没问题的时候出一些莫名奇妙的BUG,不过后来都决定了.如果感觉代码没问题,八成就是防火墙的问题. 用unity发布后的游戏,如果涉及网络, ...

  4. 两台电脑使用ROS通讯

    一.ROS分布式多机通讯简介 ROS是一种分布式软件框架,节点之间通过松耦合的方式组合,在很多应用场景下,节点可以运行在不同的计算平台上,通过Topic,Service通信. 但是各个节点只能共同拥有 ...

  5. 一个github账户多台电脑代码提交

    在实际工作生活中,我们可能不一定仅仅在一台电脑上编码,比如:我们平时在单位电脑1上写代码,提交代码到github账户,而我们也可能会在在家里的电脑2上继续工作,提交代码,这样就是在不同的电脑上提交代码 ...

  6. java实现两台电脑间TCP协议文件传输

    记录下之前所做的客户端向服务端发送文件的小项目,总结下学习到的一些方法与思路. 注:本文参考自<黑马程序员>视频. 首先明确需求,在同一局域网下的机器人A想给喜欢了很久的机器人B发送情书, ...

  7. 苹果电脑thunderbolt连接两台电脑启动方法

    thunderbolt:首先连接连台电脑 然后开启可以启动的电脑, 关闭无法启动的电脑. 接着 按一下法启动的电脑电源—> 然后按t键 会在另外一台可以启动的电脑上出现,无法启动电脑的磁盘. 就 ...

  8. (转载)用vs2010开发基于VC++的MFC 串口通信一*****两台电脑同一个串口号之间的通信

    此文章以visual C++数据採集与串口通信測控应用实战为參考教程 此文章适合VC++串口通信入门 一.页面布局及加入控件 1, 安装好vs2010如图 2, 新建一个基于VC++的MFC项目com ...

  9. 两台电脑在不同情况下ping的情况

    两台计算机(交叉连接) 同一网段 ,可以ping通.不同网段,不可以 两台计算机通过一台交换机连接 同一网段 ,可以ping通.不同网段,不可以.同一网段,同一Vlan,不可以. 综上:跨网段通信,必 ...

  10. 如果两个人,两台电脑同时登录同一个帐号,同时对同一个账单提交,账单同时被服务器处理,那服务器应该先处理谁的,或者怎么规避这个问题。 非单点登录,重定向,stoken拦截器的问题

    方法一:给用户设置个状态 服务器端坐标记,比如数据库中增加一列,标识是否登陆,登录时先判断这个就行了,不过要考虑非正常退出的情况 http 方法二:在用户表里面 多加一个状态字段,登录成功 改变状态  ...

随机推荐

  1. vue高级进阶( 三 ) 组件高级用法及最佳实践

      vue高级进阶( 三 ) 组件高级用法及最佳实践 世界上有太多孤独的人害怕先踏出第一步. ---绿皮书 书接上回,上篇介绍了vue组件通信比较有代表性的几种方法,本篇主要讲述一下组件的高级用法和最 ...

  2. golang 不再使用原生的log, 使用固定的zap logger

    最主要一点, zap的可以给出详细的log信息, 形如 2023-02-10T09:24:55.707+0800 INFO v3web/main.go:196 [2023-02-10 09:24:55 ...

  3. uniapp 复制 粘贴,系统剪贴板

    uniapp里不叫复制粘贴,叫系统剪贴板uni.setClipboardData({ data: this.href, success: () => { uni.hideToast(); thi ...

  4. SAP 没有开工的产线 闲置成本 处理方案

    SAP  没有开工的产线   闲置成本  处理方案 需要沟通的请联系  wx  :erpworld

  5. Java-面向对象基础 this& 重载

    1.this表示当前对象 获取当前对象的属性 使用this调用当前属性 2.重载 如果两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载

  6. Servicemonitor监控自带metrics接口和无metrics接口

    前言: servicemonitor监控存在两种情况: 1.有metrics ,创建service+servicemonitor配置 2.无metrics  配置exporter,exporter进行 ...

  7. WebService 客户端上传图片,服务器端接收图片并保存到本地

    需求:如题,C#本地要调用Webservice接口,上传本地的照片到服务器中: 参考:客户端: https://blog.csdn.net/tiegenZ/article/details/799276 ...

  8. Solution - ARC152D Halftree

    首先 \(n\) 为偶数时无解,这是显然的,因为一次加两条边,总边数一定是偶数. 下面我们证明 \(n\) 为奇数时一定有解,直接进行构造. 首先将每一个点编号加上 \(k\) 再模 \(n\) 的答 ...

  9. 页面-vue

    1.安装node.js 语言-页面-开发环境-node.js,webpack,安装 - hehehenhen - 博客园 (cnblogs.com) 2.安装webpack 语言-页面-开发-webp ...

  10. redis之redisObject对象

    redisObject对象 无论什么数据类型,redis都是以key-value形式保存,并且所有的key都是字符串redis每存储一条数据,都会生成一个redisObject对象,通过redisOb ...