对不起,我是一个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命令可以正常工作?
谢谢, 克里斯
答案 0 :(得分:7)
git config -l
如果当前git存储库&#39; s core.precomposeunicode=true
试试这个,
git config core.precomposeunicode false
这就是原因。 from here
core.precomposeunicode 此选项仅供Mac OS实现Git使用。当core.precomposeunicode = true时,Git将恢复Mac OS完成的文件名的unicode分解。在Mac OS与Linux或Windows之间共享存储库时,这非常有用。 (需要适用于Windows 1.7.10或更高版本的Git,或者在cygwin 1.7下使用Git)。如果为false,则Git处理文件名完全透明,Git与旧版本的Git向后兼容。
答案 1 :(得分:2)
Git是一个很棒的工具,但是如果没有一张好的地图,你很容易迷失方向。
以下是如何获取该地图(我将其称为“gr”代表“图形”,但如果您愿意,也可以将其称为“地图”):
git config --global alias.gr 'log --graph --full-history --all --color --decorate'
这是git的一次性设置。现在,只要你迷路了,只需看看地图:
git gr
您当前的位置用“HEAD”字样表示,并且还列出了所有分支名称。
你会发现你现在不在任何分支上,这听起来比实际情况要糟糕得多 - 它实际上没什么大不了的,它只是意味着你的提交不会像你那样进入主分支想要他们。
所以回到你的主分支并在那里提交:
git checkout master
git add yourfile.txt
git commit -m'Narg'
git push
现在再看一下git gr
,你会发现HEAD和master是同一个提交,master和origin / master在同一个提交中,这意味着你已经全部设置了。 / p>
答案 2 :(得分:2)
适用于可能通过Google到达此处的其他人。
我遇到了同样的问题-只是我能够推送并且没有收到任何“最新消息”。
问题在于,与Linux不同,Windows和Mac OS不区分大小写。但是repo是在区分大小写的OS上创建的,并且有两个版本的某些文件,仅大小写和小写字母不同。
有一个问题here。
答案 3 :(得分:1)
可能会发生的另一个原因:在github Web界面中创建的名称中带有冒号的文件:lost:time.txt