首先我们来区分一些概念、术语、名词。不然脑子一锅粥,总是晕!!!
博主对此深有体会!从中学到了没事要多总结、多归类!
仓库有本地仓库和远程仓库之分。
仓库都可以叫做服务端(器)。
本地仓库有:Windows、Linux、MacOS。(指的是运行在不同系统下的本地仓库)
远程仓库有:GiuHub(国外)、Gitee码云(国内)、Coding(国内)等等。(说白了就是服务器)
那么服务端可以分为:本地服务端(器)、远程服务端(器)。
连接仓库的方式有:https、SSH等等。
连接仓库的客户端软件(工具)有:Git Bash、Git GUI、Git CMD、GitHub Desktop、小乌龟(TortoiseGit)等等。(https)
连接SSH的客户端软件(工具)有:SecureCRT、Xsheel、Putty、WinSCP、hyper_terminal(超级终端)等等。(SSH)
至少有几十种的排列组合,想想不蒙圈吗?这都是啥啊,我的妈呀,好乱啊!
自然而然,网上就会出现各种各样的教程。你不晕才怪呢!
其实对于我们个人而言,远程仓库就是一个远程的优盘,很多高大上的功能根本用不到。别拍,且听黑泽慢慢说来...
原则:对待我们自己的本地仓库、远程仓库,我们应该删除、创建、修改完全自由!(想想自己的东西都不能随心所欲的控制,何谈别人的呢!)
本演示这里的远程仓库是GitHub(国外)、Gitee码云(国内)、Coding(国内)。
一、首先注册账号
GiuHub(国外):https://github.com/
Gitee码云(国内):https://gitee.com/
Coding(国内):https://coding.net/
如何注册账号,这里不赘述!但是,建议:
GitHub(国外)使用邮箱为:xxxxxx@gmail.com(为了装逼)
Gitee码云(国内)、Coding(国内)使用国内邮箱:如QQ邮箱、163邮箱等等。
用户名:最好是自己姓名的拼音。(为了方便为了装逼)
昵称:随意。
二、创建远程仓库
GitHub(国外)
步骤一:
步骤二:
步骤三:
Gitee码云(国内)
步骤一:
步骤二:
步骤三:
Coding(国内)
步骤一:
步骤二:
步骤三:
三、删除Github中已有的仓库(即删除远程仓库)
三箭齐发,太累了,以下演示仅以GitHub为例。其余的同理。
如果我们想要删除Github中没有用的仓库,应该如何去做呢?
1、进入到我们需要删除的仓库里面,找到【settings】即仓库设置:
2、然后,在仓库设置里拉到最底部,找到【Danger Zone】即危险区域:
3、点击【Delete this repository】这样就可以删除该仓库了。删除仓库时,会再让我们确认删除的仓库名。防止误删。
四、将远程仓库Clone(下载/复制)到本地
注意1:演示我们使用连接仓库的客户端软件是:Git Bash
注意2:演示我们使用连接仓库的方式是:https
1、远程仓库地址的由来如下:
2、在本地新建一个文件夹test,然后我们在该文件夹中右键 --> Git Bash Here,输入命令:
git clone 远程仓库地址
五、将本地仓库Push(同步/上传)到远程服务器
1、为了演示,我们先在本地仓库DemoUseGithub中新建一些文件夹和文件
2、将本地仓库Push(同步/上传)到远程服务器
六、删除Github中已有的仓库中的某个文件或文件夹(即删除远程仓库中的某个文件或文件夹)
我们知道,在Github上我们只能删除仓库,并不能删除文件或者文件夹,所以只能用命令来解决。
即我们通过删除本地仓库的某个文件或文件夹后,再将本地仓库与远程仓库同步,即可删除远程仓库中的某个文件或文件夹。
6.1、本地仓库和远程仓库同时删除文件或文件夹
1、我们先在本地仓库中删除掉文件a.txt
2、然后执行以下命令,即可删除远程仓库中的文件了
删除远程仓库中的文件夹同理。不在演示。
6.2、只删除远程仓库的文件或文件夹,不删除本地仓库的文件或文件夹
假如我们想要在远程仓库中将文件夹test01删除掉,但在本地仓库中并不想把它删除:
在命令窗口输入以下命令:
注意:
git pull (从远程仓库中pull下来的项目放到的是本地的缓存里。)
git clone 远程仓库地址 (从远程仓库中clone下来的项目放到的是本地的磁盘里。)
七、如何使用git将本地仓库连接到多个远程仓库
1、先在GiuHub(国外)、Gitee码云(国内) 和 Coding(国内) 上分别新建一个远程仓库,参考“二、创建远程仓库”。
2、创建一个本地仓库test,在某一个目录下右键 --> Git Bash Here,演示使用本地仓库test(远程仓库的名称和本地仓库的名称可以不一样,一样是为了方便,不一样也没事
)
其余命令如下:
使用git在本地创建一个本地仓库的过程(位置:在本地桌面上)
$ makdir test // 创建一个本地仓库
$ cd test // 打开这个本地仓库
$ git init // 初始化这个本地仓库
$ touch README.md // 创建README.md文件 $ echo "# taotao" >> README.md // 创建README.md文件并写入内容
$ git add README.md // 更新README.md文件
$ git commit -m 'first commit' // 提交更新,并注释信息“first commit”
$ git remote add origin https://github.com/heizemingjun/test.git // 连接远程github仓库(使用的是https协议) ,origin是远程仓库的别名,可以任意起,建议起名字要见名知意
$ git push -u origin master // 将本地仓库推送(上传)到远程github仓库上去 $ git push -u origin master -f // 强制推送,使用本地仓库文件覆盖远程仓库文件
删除连接的远程仓库
$ git remote rm origin
查看远程仓库地址信息
$ git remote -v
截图如下:
进入本地仓库,设置本地仓库的远程仓库连接。在第一步中已经设置好了本地仓库,并连接上github的远程仓库,现在给本地仓库多连接上几个远程仓库即可。
为了区分方便,把coding上仓库地址代号称之为coding。
为了区分方便,把gitee上仓库地址代号称之为gitee。
将本地仓库推到远程仓库
git push coding master
git push gitee master
具体操作如下图:
注意:都有需要强制推送才行。
八、补充说明
- Git CMD:Git中的Bash是基于CMD的,在CMD的基础上增添一些新的命令与功能。(所以建议在使用的时候,用Bash更加方便,二者切换如下图所示)
- Git GUI:Git GUI是Git Bash的替代品,为Windows用户提供了更简便易懂的图形界面。(但是比不上GitHub Desktop这个桌面版的客户端)
- Git Bash:Git Bash是命令行操作,官方介绍有一句就是“让Linux用户感到宾至如归”。(萌新用户使用了就肥肠憋屈)
“git remote add origin +复制的内容”,就是给本地仓库增加一个远程仓库,刚刚复制的内容就是远程仓库的地址。可以理解为origin是后边一长串仓库地址的代号。github给出的默认名是origin,当然也可以写别的。所以这里解释了为什么我们pull或者push时后面加origin了,这是因为我们在设置本地仓库与远程仓库连接的时候,与代号为origin的远程仓库建立了链接。如下:
git pull origin master
git push origin master
- git push -f origin master or git push origin master -f
本地仓库文件强制上传到远程仓库,把远程的仓库文件覆盖- git pull --rebase origin master
拉取远程的仓库文件把本地的覆盖- dir # 查看有哪些文件夹
- git --help # 帮助命令
- 如果输入git push origin master
提示出错信息:error:failed to push som refs to …….- 解决办法如下:
1、先输入:git pull --rebase origin master // 先把远程服务器github上面的文件拉下来把本地的覆盖
2、再输入:git push origin master
九、参考连接
Git将本地仓库连接多个远程仓库:https://blog.csdn.net/qq_36667170/article/details/79336760
GitHub Desktop操作:https://blog.csdn.net/qq_36667170/article/details/79079750
来源:oschina
链接:https://my.oschina.net/u/4316788/blog/3296674