创建远程仓库
在官网进行注册登录:Gitee或Github
进入后点击新建仓库,默认选项创建即可
**仓库创建完成后可以看到SSH的仓库地址:git@gitee.com:username/test.git
**或git@github.com:Toukensan/test.git
配置SSH公钥
在本地通过命令行创建一个生成SSH公钥,需填信息置空即可:
ssh-keygen -t rsa #如果公钥已经存在,则自动覆盖
获取创建的公钥:
cat ~/.ssh/id_rsa.pub
Gitee设置账户公钥: 个人设置:安全设置:SSH公钥中将上一步获取到的公钥粘贴
Github设置账户公钥: 头像:settings:Access:SSH and GPG keys中将上一步获取到的公钥粘贴
验证是否配置成功:
ssh -T git@gitee.com
ssh -T git@github.com
操作远程仓库
添加远程仓库
添加远程仓库是将本地仓库与远程仓库关联起来的一步。首先,需要初始化本地仓库,然后将其与已经创建的远程仓库对接。
命令形式:
git remote add <远端名称> <仓库路径>
<远端名称>
:远程仓库的名称,默认是origin
,但可以根据需要自定义。<仓库路径>
:远程仓库的 URL,可以从远程服务器获取。
示例:
git remote add origin git@gitee.com:touken/test.git
查看远程仓库
查看当前配置的远程仓库列表及其名称。
命令形式:
git remote
如果想查看详细信息,可以使用:
git remote -v
推送到远程仓库
将本地分支的更改推送到远程仓库。
命令形式:
git push [-f] [--set-upstream] <远端名称> <本地分支名>:<远端分支名>
-f
:强制覆盖远端仓库中的内容。--set-upstream
:推送到远端的同时,建立本地分支和远端分支的关联关系。<远端名称>
:远程仓库的名称(如origin
)。<本地分支名>
:本地分支的名称。<远端分支名>
:远端分支的名称。
示例:
推送 master
分支到远端 origin
仓库:
git push origin master
强制推送:
git push -f origin master
设置上游分支:
git push --set-upstream origin master
如果当前分支已经与远端分支关联:
git push
本地分支与远程分支的关联关系
查看本地分支与远程分支的关联关系。
命令形式:
git branch -vv
从远程仓库克隆
从远程仓库克隆一个副本到本地。
命令形式:
git clone <仓库路径> [本地目录]
<仓库路径>
:远程仓库的 URL。[本地目录]
:克隆到本地的目录名称,可以省略,默认会创建一个与远程仓库同名的目录。
示例:
git clone git@gitee.com:czbk_zhang_meng/git_test.git
从远程仓库中抓取
抓取远程仓库中的更新到本地,但不进行合并。
命令形式:
git fetch [远端名称] [分支名]
如果不指定远端名称和分支名,将抓取所有分支。
示例:
git fetch origin master
抓取所有分支:
git fetch
从远程仓库中拉取
拉取远程仓库中的更新到本地,并自动进行合并。相当于 fetch
加上 merge
。
命令形式:
git pull [远端名称] [分支名]
如果不指定远端名称和分支名,将抓取所有分支并更新当前分支。
示例:
git pull origin master
拉取所有分支并更新当前分支:
git pull
解决合并冲突
拉取远程仓库的最新更改
首先,从远程仓库拉取最新的更改。这一步可以让你同步最新的代码并发现潜在的冲突。
git pull origin <分支名>
如果当前分支已经与远程分支关联,可以直接使用:
git pull
发现冲突
在执行 git pull
后,如果存在冲突,Git 会提示你冲突的文件并停止合并。你会看到类似如下的提示:
CONFLICT (content): Merge conflict in <文件名>
Automatic merge failed; fix conflicts and then commit the result.
查看冲突文件
打开冲突文件,你会看到类似以下的冲突标记:
复制代码<<<<<<< HEAD
这是你本地分支的内容
=======
这是远程分支的内容
>>>>>>> <远程分支名>
<<<<<<< HEAD
到=======
之间的部分是你本地分支的修改。=======
到>>>>>>> <远程分支名>
之间的部分是远程分支的修改。
解决冲突
手动编辑冲突文件,合并本地和远程的更改。你可以选择保留本地更改、远程更改,或者合并两者。
例如,解决冲突后的文件:
这是合并后的内容,包含了本地和远程的更改。
标记冲突已解决
解决冲突后,使用 git add
命令将解决冲突后的文件标记为已解决:
git add <文件名>
提交合并结果
标记冲突已解决后,提交合并结果:
git commit
如果合并提交消息已经自动生成,可以直接保存并关闭编辑器。
推送更改到远程仓库
解决冲突并提交后,将合并结果推送到远程仓库:
git push origin <分支名>
如果当前分支已经与远程分支关联,可以直接使用:
git push