这篇文章给大家聊聊关于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创建远程仓库的内容到此结束了,希望对大家有所帮助。