Git使用:实现文件在不同设备之间进行同步

一、注册Gitee,创建远程仓库

注册网址:登录 - Gitee.com

打开Gitee,注册完进行登录,点击右上角【+】创建一个仓库

新建仓库:

点击创建,仓库创建完毕。

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

下载网址:Git - Downloads

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

1.创建本地仓库

其实本质上就是创建一个文件夹,只是在Git有一个高大上的名字叫仓库。事实上,也是有一点不同的,就是仓库需要通过一些配置才可以和远程仓库关联上。

假设我在自己电脑windows平台上创建一个文件夹gitee用来存放所有的仓库,即:

E:\2023second project\gitee

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

上文中本地仓库和远程仓库都准备好了,现在就是打通二者的关联。在刚刚创建的gitee文件夹里右键点击Open Git Bash here

先做一下简单的配置:

git init #初始化本地仓库
git config --global user.name "【你的用户名】" #声明操作的用户名字,会出现在提交记录中
git config --global user.email "【你的邮箱】" #声明操作的用户邮箱,会出现在提交记录中

提示:Git Bash的复制快捷键是Ctrl+insert,粘贴是shift+insert。

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

bash 复制代码
ssh-keygen -t rsa -C "【你的邮箱】" #生成密钥ssh

红框后面就是生成的公钥位置

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

bash 复制代码
cat /c/Users/Administrator/.ssh/id_rsa.pub #查看公钥,注意改为自己的路径

添加完公钥确定,然后回到Git Bash,输入一下命令查看是否添加成功,中间需要输入一次yes。

bash 复制代码
ssh -T git@gitee.com #查看是否添加成功

连接远程仓库,复制刚刚创建的远程仓库链接:

执行如下命令,把ssz-ssz改为自己的用户名,把401_second_project改为自己的仓库:

bash 复制代码
git remote add origin https://gitee.com/ssz-ssz/401_second_project.git #链接远程仓库origin

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

bash 复制代码
git remote -v #查看连接的远程仓库

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

三、ubuntu端上传文件

1.创建本地仓库,配置git

其中ubuntu端配置git环境和windows端基本一致,命令如下:

bash 复制代码
#若没有git,安装git
sudo apt-get update
sudo apt-get install git

#创建401_gitee文件夹,把要上传的代码拷贝到这个文件夹
cd 401_gitee
git init #初始化仓库
git config --global user.name "【自己用户名】" #声明操作的用户名字,会出现在提交记录中
git config --global user.email "【自己邮箱】" #声明操作的用户邮箱,会出现在提交记录中
ssh-keygen -t rsa -C "自己邮箱" #生成密钥ssh
cat /home/txz/.ssh/id_rsa.pub # 查看公钥,注意改为自己的路径
ssh -T git@gitee.com #查看是否添加ssh成功,注意要输入一个yes
git remote add origin https://gitee.com/ssz-ssz/401_second_project.git #连接远程库origin
git remote -v #查看连接的远程库地址

2.提交本地文件

git pullgit clone都是用于与远程仓库交互的Git命令,但它们的用途和行为有所不同:

  • git clone是用来克隆 一个远程仓库的命令。它会创建一个新的目录,初始化一个.git目录,拉取远程仓库的所有数据,创建一个指向远程仓库的origin的远程跟踪分支,并在本地创建一个master分支作为origin的一个副本。这个命令通常只在你第一次获取远程仓库时使用。

  • git pull则是用来更新 本地仓库的命令。它实际上是git fetchgit merge的组合,即它会拉取远程仓库的新数据(git fetch),然后将这些新数据合并到你当前的工作分支中(git merge)。这个命令用于已经克隆过的仓库,当你想要获取最新的更改时使用。

简而言之,git clone用于初次复制仓库,而**git pull用于已克隆的仓库同步最新更改**。因此,git pull不能用git clone来代替,因为**git clone会创建一个全新的仓库副本**,而不是更新现有的工作副本。如果你在一个已经克隆的仓库中使用git clone,它会在你的本地创建一个新的仓库目录,这并不是更新操作。

将仓库里面的readme文件全部删除,把项目文件全部拷贝到401_second_project文件夹中

bash 复制代码
git add 401_second_project/*  #将工作区文件提交到暂存区
git commit -m "提交最原始文件" #将暂存区文件提交到本地版本库
git push -u origin master #推送到远程库,首次需要-u,之后可以省略,master为分支名

此时在远端仓库就可以看到推送的文件:

此后想在本地工作区修改代码文件,创建一个分支second_coputer,其不回影响主干分支:

bash 复制代码
git branch second_computer #创建分支second_computer
git checkout second_computer #切换分支
cd 401_second_project/ #进入要修改的文件夹
gedit ReadMe.txt #修改文件内容
git add ReadMe.txt #将工作区文件提交到暂存区
git commit -m "second_computer:加入测试文本" #将暂存区文件提交到版本库
#如果此时发现提交到版本库的东西还要改,则执行命令git reset --soft HEAD^撤销上次提交
git checkout master #再次切换到master分支
git merge second_computer #合并second_computer到主分支
git push origin master #把主分支推送到远程库

如果远程仓库通过别人对文件进行了修改,ubuntu端想要获取最新文件则执行如下命令

bash 复制代码
git pull origin #拉取远程库文件并合并到本地仓库
或者
git fetch origin #拉取远程库文件
git merge origin/master #合并到本地仓库,将origin合并到本地指定分支

四、windows端下载ubuntu提交到gitee上面的代码并修改,然后提交

bash 复制代码
mkdir gitee #首先创建一个想要放工程的文件夹
cd gitee
git clone https://gitee.com/ssz-ssz/401_second_project.git #把远程仓库文件克隆到这个文件夹

以后想同步远程仓库文件

bash 复制代码
git pull origin #拉取远程库文件并合并到本地

当然也可以对文件进行修改然后上传到远程仓库,步骤和ubuntu端修改文件一样,也要创建一个分支,防止影响主干程序。

相关推荐
虾球xz2 分钟前
游戏引擎学习第58天
学习·游戏引擎
vvw&4 分钟前
如何在 Ubuntu 22.04 上安装 Graylog 开源日志管理平台
linux·运维·服务器·ubuntu·开源·github·graylog
大哥_ZH9 分钟前
Linux umami在国产麒麟系统安装网站统计工具(只能上国内网站的系统)
linux·服务器
o(╥﹏╥)24 分钟前
在 Ubuntu 上安装 VS Code
linux·运维·vscode·ubuntu·vs
奶香臭豆腐1 小时前
C++ —— 模板类具体化
开发语言·c++·学习
不爱学英文的码字机器1 小时前
[Linux] Shell 命令及运行原理
linux·运维·服务器
cdut_suye1 小时前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
qq_433618441 小时前
shell 编程(三)
linux·运维·服务器
波音彬要多做1 小时前
41 stack类与queue类
开发语言·数据结构·c++·学习·算法
Tlzns1 小时前
Linux网络——UDP的运用
linux·网络·udp