如何使用git创建远程仓库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用git创建远程仓库相关的知识,希望对你有一定的参考价值。

当然使用git之前先要下载git客户端链接在这里:http://git-scm.com/download/

这里不用github for windows是因为我觉得比较偏门,不是太普适,我要是在Linux下就没办法了。

先描述github和git:

1.git是版本一个控制系统,blabla介绍什么的最不喜欢了.....

就是说,我们使用git管理我们的代码,那么我们就需要把代码加入到git仓库中保存,git有一个本地仓库的概念,就是可以在本地记录变更,以便适应不能联网的环境。

2.远程仓库是远程主机上类似于现在的网盘一样的东西,但是具有git的功能,可以在主机上保存我们的代码库。这里说的github就是远程仓库。

首先,我们使用远程仓库需要现在github注册账号,怎么注册不用多说了。

然后我们需要在本地建立本地仓库,就是在你需要建立仓库的目录下执行这样的命令:

git init

示例:

在用户目录下新建了一个learngit文件夹,在此文件夹下使用上述命令:

打开git bash

此时初始化本地仓库完成。

我们接下来要在里面添加文件,在此之前我们需要设置好全局用户,方便git知道你是谁,以便记录你对仓库的每一次更改。

主要是设置用户名和邮箱,使用如下命令

git config --global user.name "yourname"git config --global user.email "your email addr"

这里的名字和邮箱不是必须和github上注册用的一样也行。

我设置是这样:

下面添加一个文件到这个文件夹中(应该叫本地仓库)

注意,此时被添加到仓库中的文件并没有在仓库中,因为它没有在仓库的记录中。

使用如下命令将文件添加到仓库(记录)中:

git add filename

我这里加入了一个README.md文件在learngit问价夹下:

这样就建立好了本地仓库。

下面建立远程仓库,因为要上传就需要将本地仓库和远程仓库关联起来;

首先在github上新建仓库:

注意,此处的仓库名不一定需要和本地仓库名相同。

点击创建就创建好了一个空的远程仓库。

这里的大批提示就是我们接下来的大部分操作了。注意记住上面的ssh链接,最好不用http;

先回头在git bash中进行这样一项操作:

因为ssh链接主机需要密码验证,我们需要在本机建立密钥并注册到远程主机上,下面是建立ssh密钥过程:

使用命令检查是否本地用户主目录有名为.ssh的密钥保存文件夹和密钥文件。

ls -al ~/.ssh

如果没有会提示你的,一般你没用过git bash或ssh建立过密钥的都没有此文件夹,或是文件夹没有文件。

之后建立密钥,使用如下命令:

ssh-keygen -t rsa -C "your email addr"

注意邮箱地址也是不限制必须和哪个相同。

我操作如下:

注意在输入文件名那里直接回车就可以了,默认密钥文件名是id_rsa,公钥文件就是名是id_rsa.pub

然后输入密码并确认就可以了,成功会返回指纹识别吗和随机字符画,不用记。

然后在用户主目录.ssh文件夹下找到后缀为.pub的公钥文件,用文本编辑器打开并将其所有内容复制下来。

复制完之后回到github上,

在主界面右上角找到设置那个选项:

标志是齿轮;

打开后选择SSH key

点击Add SSH key,在出现的UI中添加密钥名和密钥内容:

之后点击添加即可。注意添加成功后会邮件通知你(你是指github注册邮箱持有人)。

然后回到git bash来,输入如下命令检测是否能够ssh连接github,

ssh -T git@github.com

可能会出现警告,不要管他,输入的密码是你建立密钥时候的密码。

出现上图说明能成功连接到github。

之后我们按照如下命令将本地仓库递交到远程仓库:

上传之前要对修改做一次总结,写好“日志”

git commit -m ".................."

省略号中添加文字描述。

将本地仓库和远程仓库建立连接:

git remote add origin git@github.com:wylhyz/learngit.git

origin是远程仓库在本地别名,你可以自由取,git链接是在建立远程仓库时要你记下的ssh连接。此句就是在本地建立远程仓库别名并链接到远程仓库。

然后直接使用如下命令就可以将更改上传了:

git push -u origin master

需要密码验证的时候输入密钥密码就好。(当然有不用输入的方法)

此时在github上查看仓库就已经上传完成了:

参考技术A

工具:

git

终端

方法:

1、第一步要创建远程仓库让别人连接。需要打开远程连接。找到系统偏好设置。找到花红圈的共享按钮,点击。

2、然后看到有远程连接选项,在允许访问这,选择所有用户。然后保存。现在需要进行终端部分了。

3、点击桌面右上角的放大镜,搜索终端,找到后打开。

4、首先创建一个空的仓库,分别再终端中敲mkdir jj回车 再敲cd jj回车 再敲ls 回车,再敲git init回车。就可以创建完成一个空的仓库了。如果用git --bare init --shared group来声明就可以变为一个可以远程推送的服务器了。但下面的第5、6步就不需要了。只需要克隆下来使用即可。

5、在这个本地仓库中创建一个txt格式的文件,文件中的内容为our first git repository,代码添加如图所示,成功后会显示create mode 100644,如图所示。

6、本地仓库建成之后,在本地仓库添加一个远程仓库,并将本地的master分支跟踪到远程分支。

这儿输入时要特别注意。

origin 远程仓库名

ssh://192.168.100.103/~/jj/.git这个ssh是你本地的ip地址,格式要和我这一样,双斜杠,冒号等、

输入密码后,出现

Everything up-to-date

证明成功了。

7、另一台机器上验证一下,打开终端,输入git clone origin ssh://192.168.100.103/~/jj/.git即可。我的远程仓库是origin你们的是啥,自己更改。

按回车后出现

Cloning into jj...

证明成功了。

如何创建/修改远程仓库 + 如何删除远程仓库 + 如何删除远程仓库中的某个文件或文件夹 + 如何使用git将本地仓库连接到多个远程仓库

首先我们来区分一些概念、术语、名词。不然脑子一锅粥,总是晕!!!
博主对此深有体会!从中学到了没事要多总结、多归类!

仓库有本地仓库和远程仓库之分。
仓库都可以叫做服务端(器)。
本地仓库有: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(国外)使用邮箱为:[email protected](为了装逼)
  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文件
    $ git add README.md     // 更新README.md文件
    $ git commit -m ‘first commit‘     // 提交更新,并注释信息“first commit”
    $ git remote add origin [email protected]:dedsf/hello-world.git     // 连接远程github仓库  
    $ git push -u origin master     // 将本地仓库更新到github项目上去

    删除连接的远程仓库
    $ 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

以上是关于如何使用git创建远程仓库的主要内容,如果未能解决你的问题,请参考以下文章

如何使用git创建远程仓库

如何使用git创建远程仓库

如何创建/修改远程仓库 + 如何删除远程仓库 + 如何删除远程仓库中的某个文件或文件夹 + 如何使用git将本地仓库连接到多个远程仓库

如何使用git创建远程仓库

idea如何使用git关联远程仓库

idea如何使用git关联远程仓库