Git_Learning
  • Git/
    • 01.初识Git
    • 02.Git的特性
    • 03.使用Git的方式
    • 04.安装Git
    • 05.初始配置
    • 06.创建本地仓库
    • 07.更新文件并提交
    • 08.查看提交历史
    • 09.设置别名
    • 10.切换版本
    • 11.标签操作
    • 12.撤销修改-本地已保存状态
    • 13.撤销修改-已暂存状态下
    • 14.还原修改-已提交状态下
    • 15.从分支中删除提交
    • 16.修改提交内容
    • 17.移动文件
    • 18.忽略文件
    • 19.了解Git对象存储机制
    • 20.创建分支
    • 21.合并分支
    • 22.合并冲突
    • 23.撤销合并(未完善)
    • 24.变基和合并
    • 25.使用变基合并分支
    • 26.合并到主分支
    • 27.多存储库
    • 28.从原始仓库获取更改
    • 29.合并已经拉取的更改
    • 30.拉取并合并
    • 31.创建一个跟踪分支
    • 32.裸仓库
    • 33.推送变更
    • 34.拉取共享变更
    • 35.托管Git仓库
    • 36.常见问题
  • GItHub/
    • 如何向他人的项目提交内容
  • README
Powered by GitBook
On this page
  • 克隆 git_learning 仓库
  • 进入 cloned_git_learnnig 查看提交日志
  • origin 是什么?
  • 查看克隆仓库中的分支
  1. Git/

27.多存储库

到目前为止,我们一直在使用单个 git 存储库。然而,git 擅长处理多个存储库。这些额外的存储库可以本地存储,也可以通过网络连接访问。

本节我们将创建一个名为cloned_git_learnnig的新存储库。展示如何从一个存储库移动更改到另一个存储库,并且当两个存储库之间发生冲突时如何处理。

目前,我们将使用本地存储库(即存储在本地硬盘上的存储库)进行工作,但是,在本节中学到的大多数内容都适用于多个存储库,无论它们是在本地还是通过网络远程存储。

注意:我们将对两个副本的仓库进行更改,操作前请确定你所在的仓库是哪个。

克隆 git_learning 仓库

# 列出当前目录下的文件及文件
# 我的仓库存放在我的桌面文件夹
$ ls

   Directory: C:\Users\aku\Desktop

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----            2023/5/5    20:36                git_learning
-a---           2023/4/25    13:13           1398 Visual Studio Code.lnk

# 在仓库目录的上级目录下输入
$ git clone git_learning cloned_git_learnnig
Cloning into 'cloned_git_learnnig'...
done.

进入 cloned_git_learnnig 查看提交日志

# 进入文件夹
$ cd  .\cloned_git_learnnig\

# 查看日志
git hist
* 2456c71 2023-05-05 | Added teset2.txt (HEAD -> master, origin/master, origin/lgnew, origin/HEAD) [aku]
* 1c78eab 2023-05-05 | Added teset3.txt [aku]
* 31e5621 2023-05-05 | Added teset2.txt [aku]
* 5dc8b1e 2023-05-05 | Added .gitignore [aku]
* b77158a 2023-05-05 | Moved test.txt to lab [aku]
* 929f644 2023-05-05 | Added 123456 to the test.txt [aku]
* d7f681f 2023-05-05 | Added abc to the test.txt (tag: v1) [aku]
* 01b8702 2023-05-05 | Add first file (tag: v1-beta) [aku]

我们可以看到提交记录和原始仓库的提交是一样的,只是分支名称发生了改变 。

origin 是什么?

origin 是 Git 默认使用的一个远程存储库的名称,当你在 Git 中克隆或创建一个新的本地存储库时,Git 默认会将其与名为 origin 的远程存储库相关联。

# 显示本地存储库中所有远程存储库的详细信息
$ git remote
 origin
# 查看详细信息
$ git remote show origin
* remote origin
Fetch URL: C:/Users/aku/Desktop/git_learning
Push  URL: C:/Users/aku/Desktop/git_learning
HEAD branch: master
Remote branches:
lgnew  tracked
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
  • remote origin: 显示您正在查看的远程存储库的名称。

  • Fetch URL: 显示远程存储库的 URL,可以从该 URL 拉取最新代码更改。

  • Push URL: 显示可以使用的 URL 将本地更改推送到远程存储库。

  • HEAD branch: 显示在远程存储库上活动的默认分支。

  • Remote branch: 显示本地存储库中正在追踪的远程分支的列表以及其与远程分支的关系。这里的 "main tracked" 表示本地存储库中的 main 分支正在追踪名为 main 的远程分支。

  • Local branch configured for 'git pull': 显示可以从远程存储库中拉取代码更改的本地分支以及如何与相应的远程分支合并。这里的 "main merges with remote main" 表示在运行 git pull 时,本地存储库中的 main 分支会自动与名为 main 的远程分支合并。

  • Local ref configured for 'git push': 显示更新远程存储库的本地分支以及它们将被推送到远程存储库的位置。这里的 "main pushes to main (up to date)" 表示在运行 git push 时,本地存储库中的 main 分支会被推送到名为 main 的远程分支,并且本地分支和远程分支是同步的。

查看克隆仓库中的分支

# git branch 命令仅列出本地分支
$ git branch
* master

本地分支的意思是本地仓库现有的分支。

# 查看所有分支
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/lgnew
remotes/origin/master

Git 拥有原始仓库中的所有提交,但远程仓库中的分支在这里不被视为本地分支。如果我们想要自己的 lgnew 分支,我们需要自己创建它。

Previous26.合并到主分支Next28.从原始仓库获取更改

Last updated 2 years ago