引言
我们如何从github上clone一个项目呢?下面示例一下。
下载及配置
我们在本地安装好git,如果是windows系统,可从这里下载:git-scm.com,选择windows并点击下载。
如果git官网下载速度太慢,可以从这里快速下载到 gitb.org
(习惯于窗口化操作的,可以之前先把TortoiseGit安装了,方便以后窗口化管理。不过为了git的使用快速上手,不建议安装。)
由于个人本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以要创建SSH Key。
在用户主目录下,看看有没有.ssh目录(win7为C:\Users\XS-021.ssh下),如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件, 如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C “youremail@example.com”
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可。
如图:
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件, 这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
登陆GitHub,打开“Account settings”,“SSH Keys”页面: 然后,点“Add SSH Key”,填上任意Title, 在Key文本框里粘贴id_rsa.pub文件的内容,提交后就好了:
下载远程项目
接下来就是clone到本地了。我们在github上找到远程库:
在Git Bash中cd到目标目录下,输入:
$ git clone git@github.com:yourname/example.git
第一次连接github时会进行验证,如图:
至此,克隆成功。
我们看一下,目标目录下的文件内容:
我们发现了问题,与我们预期的不一样啊,实践告诉我们,我们只要cd到/d/www下就可以了,不然又会内嵌生成一个根目录。
本地项目与线上项目关联
如何使本地一个项目与github线上项目关联呢?下面说一下。
我们进入github的指定项目中,可以看到有操作提示:
但是不全,下面时完整过程:
git init
git remote add origin git@github.com:*****/yii2_advanced.git
git add .
git commit -m “初次提交”
git push -u origin master
…
现在再在GitHub上查看该项目文件夹,就会发现本地文件都上传上去了。
查看本地项目关联的线上项目:
git remote show origin
git remote -v
或者 打开.git文件夹,找到config文件,查看。
gitignore后仓库依然存在问题
关于.gitignore的使用,有时发现里面的规则没有起作用,这是因为已经在git上的文件生成了缓存,我们要清除cache:
git rm -r --cached .
然后再添加:
git add .
接着commit提交。
标签
tag 中文是标签,起到标识里程碑的作用。
查看所有tag:
> git tag
或
> git tag -l
或
> git tag -list
新增标签:
> git tag -a v1.0 -m 第一版
推送标签到远程仓库:
> git push origin --tags
更多参见 https://blog.csdn.net/qq_39505245/article/details/124705850
Win10修改本地git账户
一种情况是:当你换了电脑,特别是他人使用过的电脑,你需要重新配置一下本地的git账户。
一种方法是通过命令行,但具体操作不是很清楚。
不过另外一种可视化操作却很方便,下面记一下。
打开Win10的 控制面板,点击 用户账户,点击 凭据管理器 中的 管理Windows凭据 , 在打开窗口的最下面的普通凭据中进行 添加 或 修改 操作。
也可以直接在路径地址栏中直接输入:控制面板\所有控制面板项\凭据管理器 ,快速进入设置页。
参考 https://blog.csdn.net/u011066470/article/details/132508920
问题收集
SSL_read 10054错误
通过git clone
命令拉取项目,可能会报错:OpenSSL SSL_read: Connection was reset, errno 10054
。
推荐的做法是输入:
> git config --global https.sslVerify “false”
注意上面的 sslVerify 是驼峰,输成 sslverify,拉取项目时会报错:
fatal: bad numeric config value '鈥渇alse鈥? for 'http.sslverify': invalid unit
我们需要把这个参数删除掉:
> git config --global --edit
然后在里面进行删除操作。
参考资料
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
http://www.cnblogs.com/schaepher/p/5561193.html#function
http://www.pfeng.org/archives/840
Git 使用引导教程 http://blog.sina.com.cn/s/blog_6aba78b40102x2ju.html