Gitee应用(1):快速搭建Git环境在不同电脑同步文件

一、前言

环境:Windows 11 64位 ;vscode:1.73.1

当你要操作在两台不同的电脑上操作,或许经常会遇到一个问题,就是怎么同步同一个或几个文件,以方便你在不同的电脑上进行同个文件内容的创作。
在申请了公司电脑之后,我就经常会遇到一个问题,工作相关的文件基本都存放在公司的电脑里,但是有时候,比如下班后、周末或节假日,公司电脑没有在身边,这时如果要维护一些数据产品或者交付一些临时急需求,可能就需要用自己的电脑临阵发挥一下光热。
这时候就经常会想起工作电脑里的某个文件,然后发现自己的电脑里没有相关的软件,然后就是“从头再来”……
为了解决这个问题,之前也用过不少在线文档,像石墨、飞书、语雀等,但这些用于写数据产品说明,数据记录或许还可以,拿来记录代码,实在有点不太合适,因为代码一般是在特定的环境里,边写边调试,最终确认下来的,如果再拉到在线文档,1个还好,2个也还行,3个呢,5个呢,10个呢?显然就有点费力了。
之前有了解git这个强大的版本控制工具,说可以记录各个版本的文件,可以查看修改前后的对比,可以各种diy的版本merge等,一直没有好好用起来,这次决定来试一试。

一点重要的说明:科学上网,使用GitHub时,国内的用户经常会遇到访问速度太慢,有时候还会出现无法连接的情况。为了保证有更好的体验,可以使用国内的Git托管服务——Gitee,简单讲,Gitee就是国内版的GitHub。下面就是使用Gitee来搭建相关的环境,并实现文件同步。

二、搭建Git环境

2.1 注册Gitee,并创建远程仓库

打开Gitee,注册一个账号,注册完登录,然后在右上角点击【+】创建一个仓库
image.pngimage.png
创建完仓库会有提示说写README.md文档,有需要可以补充,如果是自己用不写也可以,一般建议写一下,方便了解仓库的作用。
创建完成之后,打开my_work仓库,会看到一个【克隆/下载】的按钮,可以复制相关的链接用于本地仓库的配置。
我的网址是:https://gitee.com/xin-data/my_work.git。
网址的结构很简单,就是域名https://gitee.com/+你的用户名(个人空间的名字)+仓库名+.git后缀。了解这个结构之后,也可以执行拼接网址。
image.png

接下来到本地进行相关的操作配置。

2.2 下载Git安装包,并创建本地仓库

2.2.1 下载安装Git

首先下载Git安装包👉Git安装包下载。打开网页后点击【Windows】标识。
image.png
在跳转的窗口,直接点击download下面的Click here to download即可,网站会自动识别电脑适配的机型,然后做适配。
image.png

注:科学上网,一般在白天下载成功的概率更高哦!

等待下载完成之后,打开安装,可以使用默认的配置一直Next即可。

安装完打开Git Bash,备用。(当然,cmd也可以完成相关的命令,区别在于底层操作系统不同,bash使用Unix,cmd是DOS。)

注:如何找到Git Bash——可以通过安装路径找到它(如果不知道安装在哪里,可以打开cmd,输入where git),有的电脑右击桌面会有一个Git Bash Here(就是Git Bash),或者在开始菜单找到它。

2.2.2 创建本地仓库

创建本地仓库,其实它本质上就是建一个文件夹,只是在Git有一个更高大上的名字叫仓库。事实上,也是有一点不同的,就是仓库需要通过一些配置才可以和远程仓库关联上。
假设我在D盘下建一个文件夹叫gitee用来存放所有的仓库,等下直接从远程仓库把test仓库克隆(同拷贝)下来。即:

d:\gitee

2.3 配置ssh key,关联本地和远程仓库

本地和远程的准备工作做完了,接下来就是打通二者的关联。在刚刚打开的的Git Bash上依次输入以下命令。
先做一些基本配置:

$ cd d:\\gitee  #切换路径
$ git init      #初始化仓库
$ git config --global user.name "【你的用户名】"  #声明操作的用户名字,可diy,会出现在提交记录中
$ git config --global user.email "【你的邮箱】"   #声明操作的用户邮箱,会出现在提交记录中

一个特别小但是特别重要的提示:Git Bash的复制快捷键是Ctrl+insert,粘贴是shift+insert。

接着生成密钥,中间会有一个询问过程,全部敲enter键,一般是有3次。

$ ssh-keygen -t rsa -C "【你的邮箱】"             #生成密钥ssh

在生成密钥ssh返回的结果中,有两个路径特别重要,记录着公钥和私钥,如下红圈。

Your identification has been saved in /c/Users/55414/.ssh/id_rsa # 密钥路径
Your public key has been saved in /c/Users/55414/.ssh/id_rsa.pub # 公钥路径

image.png
接下来用cat+路径查看对应的文件内容,以下命令会返回公钥内容,复制后添加到gitee上就可以进行联通了。登录Gitee后点击头像>设置>ssh公钥,根据提示粘贴并取个名字备忘,链接:

$ cat /c/Users/55414/.ssh/id_rsa.pub  # 查看公钥,注意改为你自己的路径

image.png
添加完确定,然后回到Git Bash,输入一下命令查看是否添加成功

$ ssh -T git@gitee.com  # 查看是否添加ssh成功

接下来连接一下远程,需要用到2.1提及的那个链接。我的网址是:https://gitee.com/xin-data/my_work.git,所以我的命令如下,你只要把xin-data改为你自己的用户名、把my_work改为你自己的仓库即可。

$ git remote add origin https://gitee.com/xin-data/my_work.git # 链接远程库origin

接下来可以使用以下命令看看连接的远程仓库地址

$ git remote -v   # 查看链接的远程库

至此,基本完成环境的搭建。

三、基本的文件操作

先克隆一下远程的仓库:

$ git clone https://gitee.com/xin-data/my_work.git

注意,这时在接着2.3之后的步骤,也就是说在d:\\gitee路径下操作的,如果是新打开的Git Bash,需要先切换路径cd d:\\gitee

克隆完之后,进入my_work仓库,再继续3.1的操作。

$ cd d:\\gitee\\my_work  #切换路径
#或者
$ cd my_work             #切换路径

3.1 通过命令行操作

操作前可以先设置一下字符集,避免中文乱码,具体操作如下,在Git Bash的空白处右击>options(选项)>text(文本)>locale(本地),选择zh_CN,这时后面的character set字符集会自动填充UTF-8(如果没有自行选择)>save(保存)。
image.png

3.1.1 新增并提交文件

创建文件,可使用vi+文件名的方式。输入命令后回车,会进入vim编辑器,默认是命令模式,可敲键盘i(insert)键进入编辑模式,可敲入相关文本等信息,完成编辑之后输入Esc键退出编辑模式,进入一开始的命令模式。这是可以根据以下需求输入对应的命令:

  • 保存并退出
    • 英文模式下输入:wq,然后回车(write and quit)。
    • 大写英文模式下输入ZZ,然后回车。
  • 不保存退出:
    • 英文模式下输入:q!,然后回车。
    • 英文模式下输入:qa!,然后回车。
$ vi test.txt    #打开/创建文件,如果文件不存在则新增,这里我创建一个test.txt文件
$ rm test.txt    #删除文件

保存好文件之后,接下来就是提交并发布到远程仓库。

$ git add test.txt                 #将工作区文件提交到暂存区
$ git commit -m "20221209测试提交" #将暂存区文件提交到本地版本库
$ git push -u origin master        #推送到远程库,首次需要-u,之后可省略,master为分支名

如果有多个文件,都要add,有多种方式可供参考:
假设my_work/test文件夹下有两个文件test1.txttest2.txt都要提交,在add阶段可以有以下几种方式:

#逐一提交
$ git add test1.txt                 #一个个添加
$ git add test2.txt                 #一个个添加
#一次提交多个
$ git add test1.txt test2.txt       #一次多个
#指定文件夹下所有文件
$ git add my_work/*                 #指定某文件夹下所有
$ git add my_work/*.txt             #指定某文件夹下所有.txt文件
$ git add my_work/test*             #指定某文件夹下所有test*文件
#将所有文件都add一遍
$ git add *                         #添加所有文件
$ git add --all                     #添加所有文件

接上面假设,add多个文件,然后一起commit会给所有的文件都备注-m 后面的信息。如使用以下命令提交之后,会给test1.txttest2.txt都备注20221209测试提交

$ git commit -m "20221209测试提交"

如果要为每一个文件添加不同的备注,可以一个一个add,每add一个,commit -m一次,或者在commit提交的时候,也可以指定文件备注。

$ git add test1.txt             
$ git commit -m "提交test1.txt" 
$ git add test2.txt             
$ git commit -m "提交test2.txt" 
#或者
$ git add test1.txt test2.txt               #一次多个add
$ git commit -m "提交test1.txt" test1.txt   #指定文件名,每个单独加备注
$ git commit -m "提交test2.txt" test2.txt   #指定文件名,每个单独加备注

也可以多行备注

$ git commit -m "commit title
>
> commit description"

#或者,一个-m一行
$ git -m "commit title" -m "commit description"
#或者,不加-m,直接使用以下命令,这时候会弹出一个vim编辑器可以编写备注信息。
#注意,此时vim编辑器第1行默认是标题,第2行开始是描述。
$ git commit

3.1.2 拉取远程文件

常用的有两种方法:git pull <remote>git fetch <remote> <branch>

  • git pull <remote>:从远程库<remote>抓取所有分⽀并合并到本地仓库。
  • git fetch <remote> <branch>:从远程库<remote>抓取指定分支到本地仓库。去掉将抓取远程所有分⽀。
  • git pull <remote>=git fetch <remote>+git merge <remote>

注意:当本地库和远程库的文件冲突时,最后使用git fetch,然后自行对比解决冲突,可以在Git Bash分别查看两个文件,对比差异,或者使用第三方可视化工具(如vscode)查看;如果直接git pull可能会出现一些逻辑不恰的合并。如果远程版本比本地版本更新,可以直接用git pull更新。
像我如果操作文本之前先pull一下,再更新文件,基本上不会出现冲突,但是从学习角度,可以尝试一下冲突~~

$ git pull origin  #拉取远程库文件并合并到本地仓库
#或者
$ git fetch origin #拉取远程库文件
$ git merge origin #合并到本地仓库,将origin合并到当前分支

3.2 通过vscode操作

经过前面的铺垫,这时候打开vscode,打开刚刚作为本地仓库的文件夹(如我的是d:\gitee\my_work)。
image.png
这时候打开左侧栏第三个Git的图标,就可以进行可视化的操作本地仓库和远程仓库的链接,任何改动,在该图标上便会有相关的提示(比如我下面的截图,有一个change信息)。
image.png
这个Changes内容怎么提交呢?其实也很简单,add命令相当于下图的+,文件后面的+可以进行单文件添加,Changes一栏的+可以批量添加。
image.png
点了+后,出现一个暂存区Staged Changes(如下图),点击蓝色按钮commit
image.png
这时候会弹出一个文本框,前面是一些说明,大意是“请为您的更改输入提交消息。以“#”开头的行将被忽略,空消息将终止提交。在分支master上,你的分支是最新的’origin/master’。”

Please enter the commit message for your changes. Lines starting with ‘#’ will be ignored, and an empty message aborts the commit.
On branch master ,Your branch is up to date with ‘origin/master’.

image.png
也就是说随便输入个信息便可以提交。输入完备注后,点击文件右上角的对钩,便可commit(相当于git commit
image.png
接下来就是发布到远程仓库(如下图),可以点击Sync Changes按钮,点完会提示该按钮是pull and push,也可以点击右上角的···,选择push
image.png
提交之后,可以在Gitee上看到对应的文件及备注,如下图。
image.png

四、小结

备忘录:

  • 先注册Gitee,并创建远程仓库;
  • 下载Git安装包,并安装;
  • 创建本地仓库,然后配置ssh key,配置命令和文件操作命令整合如下:
$ cd d:\\gitee  #切换路径
$ git init      #初始化仓库
$ git config --global user.name "【你的用户名】"  #声明操作的用户名字,可diy,会出现在提交记录
$ git config --global user.email "【你的邮箱】"   #声明操作的用户邮箱,会出现在提交记录中
$ ssh-keygen -t rsa -C "【你的邮箱】"             #生成密钥ssh,中间会有一个询问过程,全部敲enter键,一般是有3次。可能未必是邮箱,只是邮箱是唯一的。需要唯一而已
$ cat /c/Users/55414/.ssh/id_rsa.pub              #查看公钥,注意改为你自己的路径,添加到gitee的设置>ssh公钥中,链接:https://gitee.com/profile/sshkeys

$ ssh -T git@gitee.com                            #查看是否添加ssh成功
$ git remote add origin git@gitee.com:xin-data/my_work.git # 链接远程库origin
$ git remote -v                                   #查看链接的远程库

#克隆远程库
$ git clone https://gitee.com/xin-data/my_work.git
#切换路径
$ cd my_work

#文件操作
$ touch file     #创建文件,空文件
$ vi test.txt    #打开/创建文件,如果文件不存在则新增,这里我创建一个test.txt文件
$ rm test.txt    #删除文件
##vim编辑器操作
#i(insert)键进入编辑模式,Esc键退出编辑模式,进入命令模式。
#命令模式下:
#- 保存并退出
#	 - 英文模式下输入:wq,然后回车(write and quit)。
#  - 大写英文模式下输入ZZ,然后回车。
#- 不保存退出:
#	 - 英文模式下输入:q!,然后回车。
#	 - 英文模式下输入:qa!,然后回车。

#提交操作
$ git add test.txt                 # 将工作区文件提交到暂存区
$ git commit -m "20221209测试提交" # 将暂存区文件提交到本地版本库
$ git push -u origin master        # 推送到远程库,首次需要-u,之后可省略,master为分支名
##多文件add
$ git add test1.txt                   # 一个个添加
$ git add test2.txt                   # 一个个添加
$ git add test1.txt test2.txt         # 一次多个
$ git add my_work                     # 指定某文件夹
$ git add my_work/*                   # 指定某文件夹下所有
$ git add my_work/*.txt               # 指定某文件夹下所有.txt文件
$ git add my_work/test*               # 指定某文件夹下所有test*文件
$ git add *                           # 添加所有文件
$ git add --all                       # 添加所有文件

#多文件commit
##多文件同一个备注
$ git commit -m "20221209测试提交"    
##多文件不同备注
$ git add test1.txt             
$ git commit -m "提交test1.txt" 
$ git add test2.txt             
$ git commit -m "提交test2.txt" 
#或者
$ git add test1.txt test2.txt               #一次多个add
$ git commit -m "提交test1.txt" test1.txt   #指定文件名,每个单独加备注
$ git commit -m "提交test2.txt" test2.txt   #指定文件名,每个单独加备注

#多行备注
$ git commit -m "commit title
>
> commit description"
#或者,一个-m一行
$ git -m "commit title" -m "commit description"
#或者,不加-m,直接使用以下命令,这时候会弹出一个vim编辑器可以编写备注信息。
#注意,此时vim编辑器第1行默认是标题,第2行开始是描述。
$ git commit

#拉取文件
$ git pull origin  #拉取远程库文件并合并到本地仓库
#或者
$ git fetch origin #拉取远程库文件
$ git merge origin #合并到本地仓库,将origin合并到当前分支

可选方式,通过vscode可视化操作,需要先安装vscode。

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xin学数据

为你点亮一盏灯,愿你前进无阻。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值