最近在做毕业设计的时候要用到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 | # 提交到 Github |
如果不出意外的话你的项目就已经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项目了!!