使用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 方法二:在用户表里面 多加一个状态字段,登录成功 改变状态 ...
随机推荐
- Python发送飞书消息
#!/usr/bin/python3.8 # -*- coding:UTF-8 -*- import os, sys sys.path.append(os.path.dirname(os.path.a ...
- Python 数据结构及语法
Python 数据结构及语法 Python 数据结构及其接口方法 列表 lst = [] lst.sort() # 排序列表 lst.reverse() # 反转列表 lst.append() # 表 ...
- mysql 获取某个时间段内每天的数据
SELECT dayTb.cday '日期' ,IFNULL(tNumTb.num,0) '订单数' FROM ( SELECT @cdate := DATE_ADD(@cdate, INTERVAL ...
- centos6根分区扩容,非lvm
1.关闭虚拟机,删除里面的快照,将磁盘扩容 2.根分区为sda3,开机后输入fdisk /dev/sda,d,3删除sda3,然后n,p,3,w创建sda3,扇区的开始位置要一致 3.growpart ...
- 在Vue中实现app拍照-选取本地图库-图片上传成功后预览
基于Vue和uni-app实现手机app的功能实现和打包.拍照功能和选取本地图片使用的是HTML5的API 实现. 我为测试这个功能使用node写了个本地服务器,对于手机调试,可以通过连接同一个无线网 ...
- leetcode 98. 验证二叉搜索树 【一遍dfs】【时间击败99.72%】【内存击败94.23%】
复用left[],[时间击败73.33%]-->[时间击败99.72%] [内存击败36.17%]-->[内存击败94.23%] dfs(r)返回值=new long[]{包括r节点的子树 ...
- c中遍历lua的表
//遍历lua表,index为表在栈中的位置 void traverse_table(lua_State* L, int index) { lua_pushnil(L); stack_dump(L); ...
- Web Uploader上传文件
Web Uploader是百度提供的. 1:下载:http://fex.baidu.com/webuploader/(官方下载/示例) 2:使用Web Uploader文件上传需要引入三种资源:JS, ...
- File、Files、Path、Paths
一.Path.Paths 和 File.Files // Paths 工具类,用于获取 Path 实例 Path path = Paths.get("files/Data.txt" ...
- 2022-04-19内部群每日三题-清辉PMP
1.一个项目的完工预算(BAC)为100,000美元.目前的项目报告显示该项目符合进度和预算.一位团队成员对相关工作包进行自下而上估算,表明剩余工作将比原计划少用10,000美元,并且仍能按进度计划交 ...