1. 安装GIT
本文指的是在Windows系统下的安装,有两种安装方法:一种直接在GIT官方网站下载(下载地址:git-scm.com/download/wi…),要注意这是一个名为GIT FOR WINDOWS的项目,下载之后点击安装之后一般来说一直下一步即可(这个看个人需求吧);第二种方法就是安装GitHub Desktop,这个可以在GitHub for Windows 网站下载,网址为 GitHub Desktop网站。下载完之后win+R,输入cmd之后回车,直接敲git,出现以下内容表示安装成功。
2.配置GIT
安装完Git之后,接下来就是要配置Git了,这里需要设置你的用户名和邮件地址,因为以后的每一次提交这些信息都会写入到提交中,不可更改:
$ git config --global user.name "你的用户名"
$ git config --global user.email 你的邮箱@***.com
3. 生成密钥(这里说的是SSH)
(1)注册github账号就不说了,都懂得吧;
(2)配置SSH:
①在桌面右键点击git bash here
②输入: ssh-keygen -t rsa -C "邮箱" (注意!双引号里面是在github注册的邮箱)
③出现“Enter file in which to save the key(目录)”直接回车直到出现输入密码
④输入两次密码(注册github时上面邮箱对应的密码)
(3)完成上面操作无误后即可在上面目录(例如我的目录是c/Users/Administrator/.ssh/)下找到两个文件rd_rsa和id_rsa_pub。
(4)接着复制id_rsa_pub文件里面的所有内容。打开github,进入settings,选择左边的SSH and GPG keys,把刚才复制的密钥添加进去,title那里可以自己决定起一个名字,点击添加,最后就可以看到生成sshkey了。下次上传项目时就不需要再配置密钥了。
4.上传到github
(1)在你的项目目录下(比如workSpace),在这个文件夹中右键Git bash;
(2)输入 $ git init 将本地目录初始化为Git仓库;
(3)可以先输入一下$ git status;如果有新的改动文件会显示出红色;
(4)然后再输入 git commit -m "first commit"(双引号直接的是注释)即可将暂存区的修改提交到当前分支;
(5)还没有仓库的话就到github上建一个仓库,这里就不做演示。建好仓库之后,有一个HTTPS,复制这个url,回到前面的git命令窗口,输入一下命令即可将本地与github仓库关联。
$ git remote add origin github.com/MrZhouXR/zx…
(6)这些工作都完成之后,最后只要 $ git push 将本地代码更新到远程分支上就算成功了。
(7) 以后提交代码就只需要 git add . , git push 三步就行了。
5.多个本地仓库连接多个github仓库
当有多个项目想分开上传到github中的不同仓库时,比如现在有app 和 pc 两个项目文件夹,想分别上传到github上对应的两个仓库 ***_fullstack 和 JingDongMarket 中,可以这样做:
1. 先在本地目录下右键Git bash,然后将github上的 JingDongMarket 仓库克隆,即
$ git clone JingDongMarket的https地址
就会生成一个叫 JingDongMarket 的文件夹,里面有一个.git隐藏文件,(然后再将app整个的项目文件夹放进这个叫 a 的文件夹中)执行 git三连 就可以成功的将app整个的项目上传到github中这个叫 JingDongMarket 的仓库中了。
注意:在git push 的时候会弹出一个登录框,第一次是输入你的github的账号,第二次才是输入你的密码。还有就是刚克隆下来时git push 的时候需要输入
$git push -u origin master
以后再上传就可以直接git push了。
6. 关于git的报错(不定时更新)
以下的错误都是笔者经历过的,并且解决方法也是亲测有效的,希望有能够帮助到大家的,也欢迎大家来评论区积极交流,来丰富这块内容。
1. fatal: TaskCanceledException encountered。
解决方法:git config --global credential.helper manager(注意是两个 - 哟)
**2. fatal: HttpRequestException encountered. **
解决方法:去这个网站下载 GCMW-1.14.0.exe github.com/Microsoft/G…,然后进行安装,安装完之后再输入之前的命令。
**3. fatal: Unable to create ‘…/.git/index.lock’: File exists. **
** fatal: Unable to create ‘…/.git/HEAD.lock’: File exists. **
** Another git process seems to be running in this repository, e.g.an editor opened by 'git commit'. Please make sure all processesare terminated then try again. If it still fails, a git process may have crashed in this repository earlier:remove the file manually to continue.**
解决方法:进入项目文件夹下的.git 文件夹中,选择index.lock文件并删除。或者用rm .git/index.lock命令也可删除index.lock文件。之后再重新输入命令即可,这里建议各位用命令来删除,不然的话有可能你进.git文件夹中删除之后再输入git命令时又会重新生成index.lock。
4. permission denied
解决方法:在开始栏中找到git bash,然后右键点击更多,选择管理员身份打开。前面说了我的工作空间是需要管理员权限的,所以在命令行对文件进行删除等操作时,不是管理员的话是就会显示这条信息。比如问题3中说到的删除index.lock文件,就必须是管理员身份命令才能成功。
7.结束语
就我碰见的GIT的那些‘’奇葩事‘’。你能想象每天git上传代码到远程仓库的时候都来一次不重样的报错吗?终于在克服重重困难之后,成功上传到github中了(笔者都要哭liao)。为了帮助到可能有跟我一样的情况的人,笔者奋笔疾书,废寝忘食(夸张了点哈)的整理了这一份文章,希望各位大佬看完走之前不忘点个赞,谢谢大家了哈。