1. 配置Git的全局设置
在vs code的terminal中配置以下内容
1 2 |
git config --global user.name "your name" git config --global user.email "your email address" |
2. Github设置
在Github中新建一个仓库,记住SSH地址
3. 本地创建git目录
在指定目录下先建立git仓库
1 |
git init |
在对内容进行commit,此处可以使用vs code的按钮,也可以使用下面命令(以README.md为例)
1 2 |
git add README.md git commit -m "first commit" |
设置远程仓库地址
1 |
git remote add origin <ssh地址> |
上传,此处可以使用vs code的按钮,也可以使用下面命令(以master为例)
1 |
git push -u origin master |
如果在输出最后一行报错fatal:Could not read from remote repository
则需要设置SSH key
4. 设置SSH Key
使用以下命令生成
1 |
ssh-keygen -t rsa -C "example@email.com" |
一路默认即可
获取生成的key
1 |
cat id_rsa.pub |
将获取到的key复制下来,打开github右上角个人图标—Settings—左边栏SSH and GPG keys—New SSH key,title随便取
完成以上设置后,即可在vs code上使用github的代码仓库了
5. 疑难排查
5.1 git pull报错:There is no tracking information for the current branch
12345678910 There is no tracking information for the current branch.Please specify which branch you want to merge with.See git-pull(1) for detailsgit pull <remote> <branch>If you wish to set tracking information for this branch you can do so with:git branch --set-upstream-to=origin/<branch>
是因为本地分支和远程分支没有建立联系 (使用git branch -vv 可以查看本地分支和远程分支的关联关系) .根据命令行提示只需要执行以下命令即可
1 |
git branch --set-upstream-to=origin/远程分支的名字 本地分支的名字 |
5.2 git 出现 fatal: refusing to merge unrelated histories 错误
其实这个问题是因为 两个 根本不相干的 git 库, 一个是本地库, 一个是远端库, 然后本地要去推送到远端, 远端觉得这个本地库跟自己不相干, 所以告知无法合并
具体的方法, 一个种方法: 是 从远端库拉下来代码 , 本地要加入的代码放到远端库下载到本地的库, 然后提交上去 , 因为这样的话, 你基于的库就是远端的库, 这是一次update了
第二种方法:使用这个强制的方法
1 |
git pull origin master --allow-unrelated-histories |
后面加上 --allow-unrelated-histories
, 把两段不相干的 分支进行强行合并