对不起,我是一个git新手(虽然我对cvs和svn等旧的源代码控制系统非常熟悉)...
我的最终目标是通过在本地克隆该远程存储库,将文件添加到本地存储库,提交更改,然后将本地存储库推回到远程存储库,将文件添加到远程存储库(一个不在我的计算机上).
我试过这个:
git clone ssh://user@server/Users/GitRepo/Project.git
<create file locally>
git add <localfile>
git commit -m "Narg"
git push
Run Code Online (Sandbox Code Playgroud)
但它只是说"一切都是最新的".
所以我尝试了一步一步,更加困惑.
git clone ssh://user@server/Users/GitRepo/Project.git
git status
Run Code Online (Sandbox Code Playgroud)
它告诉我
# Not currently on any branch
# Untracked files:
followed by a long list of Untracked files.
Run Code Online (Sandbox Code Playgroud)
这看起来真的很奇怪,如果我只是克隆了存储库,为什么文件不会被追踪?
如果它很重要,那么远程存储库是全新的,通过svn2git创建.
如果我输入
git remote show origin
Run Code Online (Sandbox Code Playgroud)
它告诉我
* 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)
Run Code Online (Sandbox Code Playgroud)
如果我打字
git branch -a
Run Code Online (Sandbox Code Playgroud)
它告诉我
* (no branch)
master
remotes/GitRepo/master
remotes/origin/HEAD -> origin/master
remotes/origin/master
Run Code Online (Sandbox Code Playgroud)
所以我只是困惑,一切都在正常工作?或者我在做git命令错了?或者我是否错误地创建了存储库,因此没有git命令可以正常工作?
谢谢,克里斯
小智 6
git config -l
如果是当前的git存储库 core.precomposeunicode=true
试试这个,
git config core.precomposeunicode false
这就是原因.从这里
core.precomposeunicode此选项仅供Mac操作系统实现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 是一个很棒的工具,但是如果没有很好地了解您在提交中所处的位置,很容易迷失方向。
以下是获取该地图的方法(我将其称为“graph”的“gr”,但如果您愿意,也可以将其称为“map”):
git config --global alias.gr 'log --graph --full-history --all --color --decorate'
Run Code Online (Sandbox Code Playgroud)
这是 git 的一次性设置。现在,每当您迷路时,只需看看地图即可:
git gr
Run Code Online (Sandbox Code Playgroud)
您当前的位置由单词“HEAD”表示,并且还列出了所有分支名称。
你会发现你目前不在任何分支上,这听起来比实际情况要糟糕得多——实际上没什么大不了的,这只是意味着你的提交不会按照你希望的方式进入主分支。
因此,只需返回您的主分支并在那里提交即可:
git checkout master
git add yourfile.txt
git commit -m'Narg'
git push
Run Code Online (Sandbox Code Playgroud)
另外看看git gr现在,您会看到 HEAD 与 master 处于相同的提交,并且 master 与 origin/master 处于相同的提交,这意味着您已经准备好了。
| 归档时间: |
|
| 查看次数: |
6398 次 |
| 最近记录: |