使用git&GitHub通过两台电脑协同作业,助力办公室摸鱼
前情提要:工作有时候负荷比较小,会接一些咸鱼上的活儿或者自己学点软件技能,这时候会出现一个情况,公司笔记本一般不带回家,家里台式机,白天在公司摸鱼编辑的文件,晚上回家想接着干怎么办呢,或是晚上在家干的文件,白天在公司怎么接着摸呢?U盘肯定太慢了,不方便,之前一直用的百度云盘,还充了会员,但是也比较麻烦。很久之前就对git和GitHub这两个工具有所了解,但没有好好加以利用,因为觉得有点复杂,前天看到一篇文章(最后给出链接)介绍了如何用给git和GitHub协同做工,非常符合我上面的需求,钻研一晚成功实现,下面开讲:
- 首先下载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通过两台电脑协同作业,助力办公室摸鱼的更多相关文章
- Python_架构、同一台电脑上两个py文件通信、两台电脑如何通信、几十台电脑如何通信、更多电脑之间的通信、库、端口号
1.架构 C/S架构(鼻祖) C:client 客户端 S:server 服务器 早期使用的一种架构,目前的各种app使用的就是这种架构,它的表现形式就是拥有专门的app. B/S架构(隶属于C/ ...
- Cisco Packet Tracer中两台电脑通信设置
Cisco Packet Tracer是网络初学者仿真模拟网络环境的必备工具.今天我们来模拟下两台电脑之间的通信. Cisco Packet Tracer版本6.2.0 一.添加设备 1.这里添加一个 ...
- 使用TCP在同一台电脑上可以建立连接,在两台电脑上却连接失败的原因分析
最近在用unity做联机游戏,在网络方面费了不少劲,总是在代码没问题的时候出一些莫名奇妙的BUG,不过后来都决定了.如果感觉代码没问题,八成就是防火墙的问题. 用unity发布后的游戏,如果涉及网络, ...
- 两台电脑使用ROS通讯
一.ROS分布式多机通讯简介 ROS是一种分布式软件框架,节点之间通过松耦合的方式组合,在很多应用场景下,节点可以运行在不同的计算平台上,通过Topic,Service通信. 但是各个节点只能共同拥有 ...
- 一个github账户多台电脑代码提交
在实际工作生活中,我们可能不一定仅仅在一台电脑上编码,比如:我们平时在单位电脑1上写代码,提交代码到github账户,而我们也可能会在在家里的电脑2上继续工作,提交代码,这样就是在不同的电脑上提交代码 ...
- java实现两台电脑间TCP协议文件传输
记录下之前所做的客户端向服务端发送文件的小项目,总结下学习到的一些方法与思路. 注:本文参考自<黑马程序员>视频. 首先明确需求,在同一局域网下的机器人A想给喜欢了很久的机器人B发送情书, ...
- 苹果电脑thunderbolt连接两台电脑启动方法
thunderbolt:首先连接连台电脑 然后开启可以启动的电脑, 关闭无法启动的电脑. 接着 按一下法启动的电脑电源—> 然后按t键 会在另外一台可以启动的电脑上出现,无法启动电脑的磁盘. 就 ...
- (转载)用vs2010开发基于VC++的MFC 串口通信一*****两台电脑同一个串口号之间的通信
此文章以visual C++数据採集与串口通信測控应用实战为參考教程 此文章适合VC++串口通信入门 一.页面布局及加入控件 1, 安装好vs2010如图 2, 新建一个基于VC++的MFC项目com ...
- 两台电脑在不同情况下ping的情况
两台计算机(交叉连接) 同一网段 ,可以ping通.不同网段,不可以 两台计算机通过一台交换机连接 同一网段 ,可以ping通.不同网段,不可以.同一网段,同一Vlan,不可以. 综上:跨网段通信,必 ...
- 如果两个人,两台电脑同时登录同一个帐号,同时对同一个账单提交,账单同时被服务器处理,那服务器应该先处理谁的,或者怎么规避这个问题。 非单点登录,重定向,stoken拦截器的问题
方法一:给用户设置个状态 服务器端坐标记,比如数据库中增加一列,标识是否登陆,登录时先判断这个就行了,不过要考虑非正常退出的情况 http 方法二:在用户表里面 多加一个状态字段,登录成功 改变状态 ...
随机推荐
- jupyter notebook代码无法运行
如果是anaconda的话,直接就带有jupyter而不需要重新安装,你这样子就是路径混乱了.先输入jupyter kernelspec list查看安装的内核和位置,然后进入显示的安装目录,打开ke ...
- C# List GroupBy and Sum
List<PartRequest> partRequests = new List<PartRequest>(); partRequests.Add(new PartReque ...
- C# Linq查本集合中不包含于另一个集合的元素
public void Linq() { List<Product> products = GetProductList(); List<Customer> customers ...
- spring缓存创建
/** * * <b>创建缓存</b> * <p> * 创建缓存,若已存在直接返回. * <p> * @param cacheName * @retur ...
- 创建SFTP用户并指定访问目录 Linux
1.创建登录用户及用户组 --可以根据自身磁盘挂载情况制定用户home目录 -d 选项 groupadd test1mkdir -p /data/test1 useradd test1 -g te ...
- 5分钟上手使用vuex,vuex状态管理,vuex遇到的坑
很多刚学习vue的人对于全局变量管理工具vuex都觉得很神秘,今天就用很通俗的大白话协助大家理解一下vuex,作者的vue项目使用vue脚手架搭建的,用脚手架搭建的项目会在src文件夹下有一个stor ...
- 057_Apex 开发中的问题
2019/12/27 补充内容: 1. %2F 由于页面的按钮点击或者Detail 页面编辑url中会生成 returnURL=%2F id,需要注意下 2. Trigger 中, __r 与触发条件 ...
- mysql常规主从复制跟基于GTID的主从复制方法
一,环境部署 192.168.113.129 193.168.113.130 二进制部署mysql5.7的方法见mysql5.7二进制部署,以及部分优化参数 二,mysql基于二进制日志点的复制 1, ...
- LoadRunner 常见错误
1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. 启动浏览器,打开Inter ...
- 实验:spring-boot整合mybatis-plus实现分页查询的功能
1.建立基于sping-boot的javaweb工程(java1.8) 按结构建立包 2.POM.XML添加支持mybatis-plus,sql,lombok <!--mybatis-plus的 ...