转载自Xcode连接git@osc
第一步:成生SSH密钥
打开终端命令工具,输入命令:ssh-keygen -t rsa -C "[email protected]"
注意ssh-keygen没有空格。屏幕输出:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/diaosi/.ssh/id_rsa):diaosi
在上方输入生成的密钥文件名,如diaosi,屏幕输出:
Enter passphrase (empty for no passphrase): 输入密码
Enter same passphrase again: 确认密码
Your identification has been saved in diaosi.
Your public key has been saved in diaosi.pub.
The key fingerprint is:
25:fd:01:00:89:98:49:bf:2e:ac:32:2e:d2:5d:bf:98 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| ..+ ..o... |
| +.. . . . |
| . . o . |
| . o . . |
| . S . |
| . . . |
| .o... . |
|=.... o. |
|*o E .. |
+-----------------+
屏幕提示生成密钥文件成功,保存在/Users/diaosi文件夹下。
第三步:添加SSH并连接
输入命令:ssh-add ~/diaosi
~/diaosi 是刚刚生成的密钥文件路径,屏幕输出:
Enter passphrase for /Users/diaosi/diaosi:输入密码
Identity added: /Users/diaosi /diaosi (/Users/diaosi /diaosi)
输入命令ssh -T [email protected],屏幕输出:
The authenticity of host 'git.oschina.net (58.215.179.44)' can't be established.
RSA key fingerprint is 14:b8:b8:0b:c2:b2:5e:ae:f2:21:f8:18:4d:3a:be:fc.
Are you sure you want to continue connecting (yes/no)? yes(输入yes),屏幕输出:
Warning: Permanently added 'git.oschina.net,58.215.179.44' (RSA) to the list of known hosts.
Welcome to Git@OSC , 老左!
第四步:设置个人信息
输入命令:
git config –global user.name “diaosi”
git config –global user.email [email protected]
第五步:设置项目【我的问题就出现在这步】
获取git@osc 上的项目路径。
输入命令:cd 项目文件
输入命令:git init 【需要初始化,error:fatal: Not a git repository (or any of the parent directories): .git】
输入命令:git remote add origin [email protected]:heqings/fitness.git // /这个相当于指定本地库与github上的哪个项目相连
输入命令:rm -fr ~/.ssh/known_hosts【清空文件里的内容:rm -fr /目录名/*】
输入命令:git add -A 【添加整个项目】
输入命令:git commit -m "添加整个项目"
// 不进行上面两步,会抛出error: src refspec master does not match any.
//输入命令:git pull -u origin master //从git@osc 上拉取项目
输入命令:git push -u origin master //提交项目
这里即可完成提交!
引起该错误的原因是,目录中没有文件,空目录是不能提交上去的
error: insufficient permission for adding an object to repository database ./objects
服务端没有可写目录的权限
错误提示:fatal: remote origin already exists.
解决办法:$ git remote rm origin
错误提示:error: failed to push som refs to ........
解决办法:$ git pull origin master //先pull 下来 再push 上去
git init //在当前项目工程下履行这个号令相当于把当前项目git化,变身!
git add .//把当前目次下代码参加git的跟踪中,意思就是交给git经管,提交到本地库
git add <file> //把当前文件参加的git的跟踪中,交给git经管,提交到本地库
git commit -m “…”//相当于写点提交信息
git remote add origin git@github.com:ellocc/gittest.git //这个相当于指定本地库与github上的哪个项目相连
git push -u origin master //将本地库提交到github上。
git clone git@github.com:ellocc/gittest.git //将github上的项目down下来。
git fetch origin //取得长途更新,这里可以看做是筹办要取了
git merge origin/master //把更新的内容归并到本地分支/master
下面是删除文件后的提交
git status //可以看到我们删除的哪些文件
git add . //删除之后的文件提交git经管。
git rm a.c //删除文件
git rm -r gittest //删除目次
git reset --hard HEAD 回滚到add之前的状态
git diff比较的是跟踪列表中的文件和文件系统中文件的差别