git命令中运用什么命令连接一个远程库(git创建远程仓库)

admin 270 0

这篇文章给大家聊聊关于git命令中运用什么命令连接一个远程库,以及git创建远程仓库对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

一、linux搭建git远程仓库

1. linux和windows端分别安装git,其中linux中可以用yum安装

[root@node0~]#yum install git

git的默认安装路径在/usr/libexec/git-core

[root@node0 git-core]#cd /usr/libexec/git-core

[root@node0 git-core]#git--version

2.设置linux端git的用户名和密码

[root@node0 git-core]# groupadd git

[root@node0 git-core]# useradd wang-g git

[root@node0 git-core]# passwd wang

[root@node0~]# mkdir-p/mnt/gitrep/wjf

[root@node0~]# cd/mnt/gitrep/wjf/

Initialized empty Git repository in/mnt/gitrep/wjf/.git/

把仓库所属用户改为wang(git的用户名)

[root@node0 wjf]# chown-R wang:git.git/

注:chown将指定文件的拥有者改为指定的用户或组 -R处理指定目录以及其子目录下的所有文件

4.在windows客户端克隆仓库 

$ git clone wang@192.168.111.60:/mnt/gitrep/wjf/.git

The authenticity of host'192.168.111.60(192.168.111.60)' can't be established.

RSA key fingerprint is SHA256:MgWCWF************************1m2tI.

Are you sure you want to continue connecting(yes/no/[fingerprint])? yes

Warning: Permanently added'192.168.111.60'(RSA) to the list of known hosts.

wang@192.168.111.60's password:

第一次连接远程仓库,出现黑体部分,这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,键入yes,然后输入远程仓库的密码就可以了。

5.实际中也通常通过设置公钥的方式来连接远程仓库,这样就不用每次连接都需要密码了。

1.在windows客户端的gitbash中生成用户私钥和公钥

$ ssh-keygen-t rsa-C"emailname@email.com"

在c盘用户路径下的/.ssh文件夹下会生成私钥id_rsa和公钥id_rsa.pub

首先 Git服务器打开RSA认证,即,修改/etc/ssh/sshd_config,将其中的以下三项打开

 PubkeyAuthentication yes 

 AuthorizedKeysFile.ssh/authorized_keys

然后,将客户端生成的公钥给到服务器端

即,将公钥给到 home/wang(git的用户名)/.ssh/authorized_keys

[root@node0 wang]# chmod 777.ssh

[root@node0 wang]# touch.ssh/authorized_keys

在windows客户端的gitbash中执行:

$ ssh wang@192.168.111.60'cat>>.ssh/authorized_keys'<~/.ssh/id_rsa.pub

[root@node0 wang]# chmod 600.ssh/authorized_keys

[root@node0 wang]# chmod 700.ssh

[root@node0 wang]# chown wang:git.ssh

[root@node0 wang]# chown wang:git.ssh/authorized_keys 

至此,以后再连接远程仓库就不需要密码了。

若仍需要密码,可以查看ssh连接日志/var/log/secure:

常见连接失败原因:Authentication refused: bad ownership or modes for directory/home/wang/.ssh 

这时需要检查该目录的所属用户和读写权限等级是否符合要求。公钥以及.ssh文件的权限应该属于git的用户和用户组,读写权限等级.ssh 700,authorized_keys 600.

二、git命令怎么切换远程

git上查看远程分支命令: git branch-a

然后我想切换到daily/1.0.0远程分支:前提是必须要创建一个本地分支,并让它和远程分支进行关联,git checkout origin/daily/1.0.0-b local_branch_ljs,如果在运行此命令之前有文件没有提交的,而你又想取消本地文件的修改,可以先运行git chekout.命令,然后再执行(注:local_branch_ljs是你自己新创建的本地分支名)。

三、git 有啥命令可以看远程仓库的目录结构

1、一般可以用命令:git remote show origin来查看远程仓的信息,如果想看具体的目录内容,可以把远程仓下载下来:git fetch<remote_name><branch_name>//抓取远程的一个分支到本地,或者直接使用远程仓的地址,输入浏览器就能查看看。

2、楼主如果对Linux系统感兴趣,想学习更多Linux系统操作知识,可以百度《Linux就该这么学》,里面有关于如何操作git的详细教程。

四、如何使用git创建远程仓库

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

五、怎样连接git远程仓库,设置用户名和密码

当使用HTTPS协议推送代码到Git仓库时,发现每次都需要输入密码,操作起来非常麻烦。下面介绍几种免去输入密码的方法。

使用HTTPS协议,有一种简单粗暴的方式是在远程地址中带上密码。

> git remote set-url origin http://yourname:password@bitbucket.org/yourname/project.git

还有一种方法,是创建文件存储Git用户名和密码。

以Windows环境为例,在%USERPROFILE%目录中(一般为C:\Users\yourname),打开Git Bash命令行,创建文件

在文件中输入仓库域名,这里使用了bitbucket.org。

https://yourname:password@bitbucket.org

在CMD终端中设置在全局Git环境中,长期存储密码

> git config--global credential.helper store

记住密码(默认15分钟):git config--global credential.helper cache

自定义存储时间:git config credential.helper'cache--timeout=3600'

如果原来的推送地址协议是HTTPS,可以通过换成SSH协议,在远程仓库添加SSH Key来实现推送时免账户密码输入。

> git remote-v//查看远程地址

> git remote rm origin//删除原有的推送地址

> git remote add origin git@github.com:<用户名>/版本库名

> git remote set-url origin git@github.com:<用户名>/版本库名

The authenticity of host'bitbucket.org(104.192.143.1)' can't be established.

RSA key fingerprint is SHA256:zzXQOXSRBEiUtuE8AikJYKwbHaxvSc0ojez9YXaGp1A.

Are you sure you want to continue connecting(yes/no)? yes

Warning: Permanently added'bitbucket.org,104.192.143.1'(RSA) to the list of kn

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

需要在本地创建该帐号的RSA Key。可以参考以下两篇文章:

OK,关于git命令中运用什么命令连接一个远程库和git创建远程仓库的内容到此结束了,希望对大家有所帮助。