初探Git的一些坑(上)

最近在做毕业设计的时候要用到MacBook,但由于我不熟悉macOS的操作一直都在windows下开发然后用U盘拷到Mac上编译打包。这样一次两次还行,但时间长了就感觉太麻烦了,想着用一下Git直接几行命令就可以直接从远程仓库下载新分支与数据

基本操作

首先在自己项目的文件夹下打开Git bash

输入指令:

1
$ git init

会发现项目里多了一个.git的文件夹,现在一个本地的git仓库就创建成功了

接着需要让Git跟踪我们的仓库中的文件,如果想收录项目中的全部文件可以输入指令:

1
$ git add -A                         # 添加项目中的文件

注意:此处的添加不包括.gitignore文件中忽略的项,如果某个文件换或目录不想被提交可以在.gitignore文件中设置忽略,.gitignore文件的具体使用方法这里就不赘述了

之后就可以提交更新了,执行

1
$ git commit -m "这里填你的备注信息"        # 提交并备注信息

之后登陆github创建一个新仓库,复制图中的内容

1
2
3
# 提交到 Github
$ git remote add origin git@github.com:粘贴图中复制的内容
$ git push -u origin master

如果不出意外的话你的项目就已经push到github上了

补充操作

上面的操作都是默认你的github账号已经添加了本地的ssh key,可以与本地通讯的情况。

如果你的github账号还没有添加与本地通信的ssh key需要先创建一个key

1
$ ssh-keygen -t rsa -C "youremail@example.com"     #输入你的github邮箱

一路回车之后就可以在C:\Users\你的windows用户名\.ssh下看到一个名字是id_rsa.pub的文件打开复制里面的内容到github中依次点击

把复制的内容粘贴进相应位置即可,你可以执行

1
$ ssh -T git@github.com

验证你的ssh key是否已经添加成功,成功显示

有的小伙伴可能发现我们在github创建的每一个仓库里打开setting页面里的Deploy keys选项会发现和上面的SSH and GPG keys相同

那这两个地方有什么区别吗?

github账户的SSH keys,相当于这个账号的最高级key,只要是这个账号有的权限(任何项目),都能进行操作。仓库的Deploy keys,顾名思义就是这个仓库的专有key,用这个key,只能操作这个项目,其他项目都没有权限。说白了就相当于你有一所大别墅,SSH key能开别墅中的任何一个房间。而Deploy key只能开进别墅中的一个单间。

之前我在做博客的时候就是设置了仓库的Deploy keys,等到提交的时候报错

You don't have permission fatal: Could not read from remote repository.原因就是没有设置“全局”的key,把之前仓库中的Deploy keys删除掉添加到github账户的SSH keys就可以愉快的push项目了!!

文章作者: Teily
文章链接: https://teily.cn/article/first-git-I.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 TeilyMa's Blog