【发布时间】:2019-07-27 17:33:06
【问题描述】:
我在本地创建了一个 Git 存储库并向其中提交了一个文件:
$ mkdir blarg && cd blarg
$ git init
Initialized empty Git repository in /home/myuser/tests/blarg/.git/
$ echo a line > test.txt
$ git add .
$ git commit -m "initial commit"
[master (root-commit) f47ef6d] initial commit
1 file changed, 1 insertion(+)
create mode 100644 test.txt
我希望我的服务器托管这个存储库,所以我在那里创建了一个空的存储库并配置了对它的访问(这部分工作正常)。我可以在本地存储库中将此存储库设置为远程存储库并推送到它:
$ git remote add --track master origin https://git.example.net/repos/blarg.git
$ git remote -v
origin https://git.example.net/repos/blarg.git (fetch)
origin https://git.example.net/repos/blarg.git (push)
$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 216 bytes | 216.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://git.example.net/repos/blarg.git
* [new branch] master -> master
$ git pull
Already up to date.
$ git status
On branch master
nothing to commit, working tree clean
$ git log --oneline
f47ef6d (HEAD -> master, origin/master) initial commit
这一切似乎都按预期工作。但是,在将这个存储库从服务器克隆到一个新目录后,git status 消息在克隆的存储库中略有不同,git log 也比原始存储库中显示多一个 ref:
$ cd ..
$ git clone https://git.example.net/repos/blarg.git blarg2
Cloning into 'blarg2'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done
$ cd blarg2
$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
$ git log --oneline
f47ef6d (HEAD -> master, origin/master, origin/HEAD) initial commit
请注意,git 只在克隆的存储库中打印 "Your branch is up-date with 'origin/master'.",并且那里的日志提到 origin/HEAD。
发生了什么,如何调整我的原始存储库以使其表现得像克隆的一样?
【问题讨论】:
标签: git git-remote