抱歉,我是Git的新手(虽然我非常熟悉像cvs和svn这样的旧版源代码管理系统)...
我的最终目标是通过将远程存储库克隆到本地,将文件添加到本地存储库,提交更改,然后将本地存储库推送回远程来向远程存储库(不在我的机器上)添加文件。
我尝试了这个方法:
git clone ssh://user@server/Users/GitRepo/Project.git
<create file locally>
git add <localfile>
git commit -m "Narg"
git push
但是它只说“一切都是最新的”。
所以我尝试逐步进行,结果变得更加困惑了。
git clone ssh://user@server/Users/GitRepo/Project.git
git status
而且它告诉我
# Not currently on any branch
# Untracked files:
followed by a long list of Untracked files.
这看起来非常奇怪,如果我只是克隆了仓库,为什么文件会被标记为未跟踪?
如果很重要的话,远程仓库是全新的,通过svn2git创建的。
如果我输入
git remote show origin
它告诉我
* remote origin
Fetch URL: ssh://user@server/Users/GitRepo/Project.git
Push URL: ssh://user@server/Users/GitRepo/Project.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushed to master (up to date)
如果我输入
git branch -a
它告诉我
* (no branch)
master
remotes/GitRepo/master
remotes/origin/HEAD -> origin/master
remotes/origin/master
那么我只是混淆了吗,一切都正常工作了吗?还是我的git命令有问题?或者是我错误地创建了存储库,所以没有任何git命令会正常工作?
谢谢, 克里斯
git status
命令之前,先运行命令cd Project.git
。该命令需要在git clone ssh://user@server/Users/GitRepo/Project.git
后执行。 - Litmusgit checkout <branch>
能帮助你。 - tijscd Project
。那是个笔误。你是对的,你正在克隆一个非裸仓库。你不需要进入Project/.git
文件夹。你可以从Project
文件夹本身运行所有 git 命令。让git
管理.git
文件夹。 - Litmus