在上传项目到github时,忘记忽略了某个文件夹target,就直接push上去了, 最后意识到了此问题,决定删除掉远程仓库中的target文件夹
删除前:
删除后:
在github上只能删除仓库,却无法删除文件夹或文件, 所以只能通过命令来解决
首先进入你的master文件夹下, Git Bash Here ,打开命令窗口
$ git --help # 帮助命令 $ git pull origin master # 将远程仓库里面的项目拉下来 $ dir # 查看有哪些文件夹 $ git rm -r --cached target # 删除target文件夹 $ git commit -m '删除了target' # 提交,添加操作说明
$ git push -u origin master # 将本次更改更新到github项目上去
操作完成.
注:本地项目中的target文件夹不收操作影响,删除的只是远程仓库中的target, 可放心删除
每次增加文件或删除文件,都要commit 然后直接 git push -u origin master,就可以同步到github上了
----------------------------------------------------------------------------
扩展:SSH key的生成及使用
SSH key生成及其使用 一、检查是否已经存在ssh key
通常sshkey会默认生成在用户家目录下,所以查看家目录下是否存在.ssh 文件夹,以及是否存在相关目录就行。(~/.ssh/id_rsa)
二、生成key
在控制台输入:
ssh-keygen -t rsa
Note: -t 的意思是选择kye的type。分别有 RSA 和 DSA 两种。具体请自行百度
控制台输出如下:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
(为了避免每次进行ssh连接时都需要输入passphrase,这里可以不用输入passphrase。)
现在你的私钥被放在了~/.ssh/id_rsa 这个文件里,而公钥被放在了 ~/.ssh/id_rsa.pub 这个文件里。
三、使用ssh key
使用ssh key的目的是使得两台机器之间建立互信,从其中一台登陆到另一台时不需要密码。具体方式如下:
1、先在主机A上创建密钥对
ssh-keygen -t rsa
这时可以在主机A上看到生成的秘钥~/.ssh/id_rsa 和公钥 ~/.ssh/ id_rsa.pub
2、把主机A的公钥放在主机B上
直接去github上添加sshkey ----------
-------------.................................................................................................
扩展: gitgub常见操作和常见错误!
如果输入$ ssh -T git@github.com
出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。
解决办法如下:
1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。
2、如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to your authentication agent.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做。
3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。
如果输入$ git push origin master
提示出错信息:error:failed to push som refs to .......
解决办法如下:
1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来
2、再输入$ git push origin master
使用git在本地创建一个项目的过程
$ makdir ~/hello-world //创建一个项目hello-world
$ cd ~/hello-world //打开这个项目
$ git init //初始化
$ touch README
$ git add README //更新README文件
$ git commit -m 'first commit' //提交更新,并注释信息“first commit”
$ git remote add origin git@github.com:dedsf/hello-world.git //连接远程github项目
$ git push -u origin master //将本地项目更新到github项目上去