我在git中是零。绝对零度。因此网上有很多材料和提示,但我不能把它们放在一起。
那么有人可以告诉我我做错了什么以及我应该做些什么才能实现我的目标?
我想做的很简单。我用C ++编写了一个项目,现在我想创建一个本地存储库来对所有更改进行版本控制。这就是我所需要的一切。
我有一个文件夹:
~/myproject
包含我的项目文件。和另一个保存更改的文件夹(我的本地存储更改位置)
~/my-local-repository
所以,首先,我已经建立了一个回购:
cd ~/myproject
git init
然后我创建了一个.gitignore:
cd ~/myproject
touch .git/.gitignore
并排除了我的bin
目录。
然后我添加了一些文件
git add this that
然后我删除了它们
git reset
并再次添加了一些文件。我更改了一些文件并提交:
git commit -am "new change"
然后设置虚拟用户名和电子邮件:
git config user.name "my.phd"
git config user.email myphd@exmaple.com
然后我为本地更改设置本地存储库文件夹:
git remote add local ~/my-local-repository
所以我希望我的所有更改都在这里。
现在,当我推动时:
git push local
我收到此错误:
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.
In Git 2.0, Git will default to the more conservative 'simple'
behavior, which only pushes the current branch to the corresponding
remote branch that 'git pull' uses to update the current branch.
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
fatal: '/media/doc/my-local-repository' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
对许多人来说,这个错误可能非常简单。但是我对它一无所知。到目前为止我做错了什么以及如何解决?
答案 0 :(得分:1)
错误在行
'/media/doc/my-local-repository' does not appear to be a git repository
该文件夹中没有git repo。你需要运行
git init
在里面。如果您在新的本地分支中工作,则还必须在上游推送新分支以使其出现在远程中。为此,请参阅this问题。
答案 1 :(得分:0)
git push local master
(或者,而不是master
,您要推送的分支)
如果你只在另一个仓库上做git init
,它还没有分支。因此,不能跟踪任何分支(仅允许git push local
)。
执行此命令后,最后不需要master
,因为master
现在local
已存在。