[安装配置] 在 Windows 下 Git 的使用

这个问题很基础, 但是第一次使用时很困扰

按照帮助安装了Windows下的Git客户端, 例如我下载安装了Git-1.8.3-preview20130601.exe

(还有其它软件, 比如TortoiseGit)

在GitCafe上创建仓库后, 会有提示怎么初始化仓库的说明

其中有一步是:

git remote add origin 'git@gitcafe.com:ZoeyYoung/Hello_Git.git'

但是这里提供的地址git@gitcafe.com:ZoeyYoung/Hello_Git.git是SSH的

ssh

所以需要配置SSH, 相关帮助

如果不配置则会出现Permission_denied: Error: Permission denied (publickey)问题

Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

但是配置好SSH后, 尝试了下在Windows自带cmd下还是会出现上面的问题

原因是SSH的地址是~/.ssh, 而cmd下并不识别这个地址...因此只能在Git Bash下使用(跟安装时选择的只在Git Bash下使用可能也有关, 没尝试)

而我觉得比较方便的方式是使用https地址

https

即把上面的语句改为

git remote add origin 'https://gitcafe.com/ZoeyYoung/Hello_Git.git'

这样就不用配置SSH, 并且可以直接在cmd命令行下使用

D:\Hello_Git>git push -u origin master
Counting objects: 5, done.
Writing objects: 100% (3/3), 253 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
Username for 'https://gitcafe.com': ZoeyYoung
Password for 'https://ZoeyYoung@gitcafe.com':
To https://gitcafe.com/ZoeyYoung/Hello_Git.git
35fadd4..254fb27  master -> master
Branch master set up to track remote branch master from origin.

只需输入用户名和密码即可.

注意到这点是因为感觉配置SSH很麻烦 - -

而且我用pelican写博客后编译上传时, 可以直接在cmd下编译上传, 运行如下publish.bat文件即可

pelican -s pelicanconf.py content -o output
cd output
git add .
git commit -m "Update"
git push
cd ../

如果使用SSH方式得在cmd下编译, 然后跑到Git Bash下提交

已经SSH了, 可以——

如果已经配置了SSH地址, 再想配置成HTTPS地址, 会提示

fatal: remote origin already exists.

这时可以修改D:/Hello_Git/.git/config文件中的如下片段

[remote "origin"]
url = git@gitcafe.com:ZoeyYoung/Hello_Git.git

[remote "origin"]
url = https://gitcafe.com/ZoeyYoung/Hello_Git.git

即可

今天犯了个低级错误

忘了add、commit就急着push, 会出现

error: src refspec master does not match any.
error: failed to push some refs to 'https://gitcafe.com/ZoeyYoung/Hello_Git.git'

其它要参考文章