首先,是的,那里有很多主题,而且我更加困惑,而不是指出正确的东西。
对于初学者,我正在学习git并尝试将其应用到我的第一个项目中。
我的设置是这样的:
/opt/projectFolder
请注意,projectFolder
中包含初始文件。
我运行以下命令:
git init --bare
< - 没有用,似乎我有错误,因为我的项目使用了config
文件夹,所以它与git冲突,我不知道如何解决它。
所以我做的是:
> git init
> git add .
> git commit -m"Initial Files"
> git --bool core.bare true
现在没有任何错误,
我跑:
> git clone user@192.168.xx.xx:/opt/projectFolder
它成功地克隆了存储库,现在我尝试用它编辑初始文件中的一些文本文件然后运行:
> git add .
> git commit -m"Test commit"
> git push
当我检查linux远程仓库时,对文件的更改没有反映但是如果我在其他计算机上克隆它,则会反映出更改
我做错了什么或错过了什么?
答案 0 :(得分:0)
缺少的是裸存储库没有供您查看的文件。
来自git-scm.com/docs的文档,请参阅this explanation了解core.bare
设置的内容
<强> core.bare 强>
如果为true,则假定此存储库为裸,并且没有与之关联的工作目录。如果是这种情况,将禁用许多需要工作目录的命令,例如git-add [1]或git-merge [1]。
创建存储库时,git-clone [1]或git-init [1]会自动猜测此设置。默认情况下,假定以“/.git”结尾的存储库不是裸(裸=假),而假定所有其他存储库都是裸(裸=真)。
我不知道您可以将初始化后的存储库转换为裸存储库,但它似乎对您有用。
在我看来你应该得到一个
! [remote rejected] master -> master (branch is currently checked out)
错误,但这可能取决于git
版本。
您希望在裸存储库中看到的文件更改为二进制形式的提交对象(我不会详细介绍)
但是refs/
和objects/
个文件夹下的所有内容都已存在。
希望足够解释。