今天在新的机器上配置git时遇到了点问题,记录一下
git init 初始化项目并拉取后一切顺利,git push -u origin master要推送代码时发现推送了但是远程分支并没有代码(sourcetree),用命令行查看发现没有对应的权限,报错:
Please make sure you have the correct access rights and the repository exists.
新建ssh-key并复制key到GitHub就可以了,具体方法看这里
git config --global user.name “username”配置账户信息
git config --global user.email “email”
ssh-keygen -t rsa -C "your@email.com"生成key并将生成的pub复制到GitHub的个人账户秘钥里面即可(文件位置在C盘的用户文件夹里面)。
删除掉.git文件夹后重新拉取代码,还是报错
$ git push origin master origin/master
error: src refspec origin/master does not match any.
error: failed to push some refs to 'origin'
添加对应的远程分支后 git remote add origin git@github.com:tomgiggs/helloNodejs.git后
$ git branch -a还是看不见远程分支
rebase: git pull --rebase origin master之后
git push --set-upstream origin master 设置远程分支即可看到远程分支
后面就可以顺利推送代码了
因为异常退出,重启后发现git文件损坏了,git fatal: index file corrupt,手动删除.git 文件夹下面的index 文件(如果有index.lock就一同删除)然后git reset 就可以了。
git status是看不到已经提交本地仓库但是还没push的内容的,只能看到是否有还没push的提交,可以使用git show或者git log 查看本地仓库提交了哪些内容,git cherry -v同样可以看已经提交还没push的内容。
取消错误提交可以使用git reset --hard HEAD^ 或者git log 查出版本号,然后 git reset --hard commitID
取消错误添加可以使用use "git reset HEAD <file>..." to unstage),这个会删除已添加的文件
如果是取消修改文件而已请使用 git checkout -- <file>
error:src refspec master does not match any