自己学习中的经验记录(各处搬来的),不能保证完全正确或有用,如有问题欢迎交流指正~
主要参考:廖雪峰的Git教程
应用学习
用git进行版本管理,主要有以下几种情况:
- 已有本地项目,先创建本地库,再同步到远程库。
- 已有远程库,先克隆到本地,再建立远程连接。
- 已有远程库,先与本地建立连接,再同步。
已有本地项目
可以是有具体内容的项目,也可以是新创建的空目录
创建本地版本库
1、cd到项目目录下;
2、通过git init命令把这个目录变成Git可以管理的仓库:
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
因为之前瞎弄已经创建了本地库,我的显示:
$ git init
Reinitialized existing Git repository in D:/Projects/KGQA_HLM/.git/
该路径文档中已经存在了.git 文件,可以在当前文件下的终端中输入ls -a 查看现有的文件.有.git 的话就用
rm -rf .git 删除以后在重新初始化就可以解决了。
添加文件到版本库
使用 git add . 添加全部文件
$ git add .
warning: LF will be replaced by CRLF in .idea/inspectionProfiles/profiles_settings.xml.
The file will have its original line endings in your working directory
问题解析及解决:关于 LF will be replaced by CRLF 问题出现的原因以及解决方式
提交更改到仓库
使用 git commit -m ‘自己的提交说明’ 命令提交改动
$ git commit -m "wrote a readme file"
[master (root-commit) eaadf4e] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
添加远程库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。
连接远程库:
(参考廖雪峰Git教程–远程仓库)
第1步:注册GitHub或者gitee账号。
第2步:本地创建SHH key。
在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
第3步:登陆GitHub或Gitee,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
点“确定”,就应该可以看到已经添加的Key。
ps:为什么GitHub需要SSH Key呢?因为GitHub/gitee需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub/gitee只要知道了你的公钥,就可以确认只有你自己才能推送。
创建远程库
因为我是已经有了远程库,这里暂不记录创建过程,可参考
廖雪峰Git教程–添加远程库
克隆远程库,建立连接
git bash路径切换到准备存放本地库的路径下;
把远程库直接克隆下来:
$ git clone git@github.com:michaelliao/learngit.git
Cloning into 'learngit.git'