git怎么在linux上linux下使用git其他用户名

git命令之git clone用法 - CSDN博客
git命令之git clone用法
在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git&URL可能以ssh://,
http(s)://, git://,或是只是以一个用户名(git 会认为这是一个ssh 地址)为前辍.&
有些仓库可以通过不只一种协议来访问,例如,Git本身的源代码你既可以用&git://&协议来访问:
git clone git://git.kernel.org/pub/scm/git/git.git
也可以通过http 协议来访问:
git clone http://www.kernel.org/pub/scm/git/git.git
git://协议较为快速和有效,但是有时必须使用http协议,比如你公司的防火墙阻止了你的非http访问请求.如果你执行了上面两行命令中的任意一个,你会看到一个新目录: 'git',它包含有所的Git源代码和历史记录.
& &在默认情况下,Git会把&Git URL&里最后一级目录名的'.git'的后辍去掉,做为新克隆(clone)项目的目录名: (例如. git&clone http://git.kernel.org/linux/kernel/git/torvalds/linux-2.6.git 会建立一个目录叫'linux-2.6')
& 另外,如果访问一个Git URL需要用法名和密码,可以在Git URL前加上用户名,并在它们之间加上@符合以表示分割,然后执行git
clone命令,git会提示你输入密码。
git&clone&robin.hu@http://www.kernel.org/pub/scm/git/git.git
这样将以作为robin.hu用户名访问http://www.kernel.org/pub/scm/git/git.git,然后按回车键执行git
clone命令,git会提示你输入密码。
另外,我们可以通过-b &name&来指定要克隆的分支名,比如
$ git clone&-b&master2&../server&.
表示克隆名为master2的这个分支,如果省略-b&&name&表示克隆master分支。
In general, URLs contain information about the transport protocol, the address of the remote server, and the path to the repository. Depending on the transport protocol, some of this information may be absent.
Git natively supports ssh, git, http, https, ftp, ftps, and rsync protocols. The following syntaxes may be used with them:
An alternative scp-like syntax may also be used with the ssh protocol:
The ssh and git protocols additionally support ~username expansion:
For local repositories, also supported by git natively, the following syntaxes may be used:
本文已收录于以下专栏:
相关文章推荐
git客户端连接ssh端口不是22的gitlab“` python
git remote add origin ssh://git@221.99.99.99:9922/xxx/CriminalInt...
修改git仓库地址的端口号
说明:因为出于安全考虑,有的时候公司会将git服务器的端口限制和修改,这个时候原本的地址就不可用了。这个时候需要修改原有仓库的地址,为其加上端口号。
     1. 直接...
git remote set-url origin ssh://git@36.120.36.210:9401/WM1116/application.git
git clone ssh://git@3...
SSH默认端口为22,而Git的访问是基于SSH的。
通常我们会更改服务器的SSH端口号,即当SSH的端口不是22上时,Git访问会出现:
ssh: connect to ...
今天在用git clone下载代码里,说端口拒绝访问,问了一下管理服务器的同事,才知道ssh服务器的端口已经改成了8120,不想使用https方式下载,怎么办?
其实很简单,原来的clone命令是这...
远程操作的第一步,通常是从远程主机克隆一个版本库,这时就要用到git clone命令。
$ git clone
比如,克隆jQuery的版本库。
$ git clone https://githu...
最近一直焦虑换工作与面试,自然面试过程中也被问到了很多问题,在一家公司中,被问到了git相关的知识。
面试官提出了git clone 与 git pull有什么区别。由于自己对git的掌握情况不是特...
使用git客户端第一次git 代码的方法使用git-clone命令从github上同步github上的代码库时,如果使用SSH链接,而你的SSH key没有添加到git...
翻译整理自: http://web.mit.edu/~mkgray/project/silk/root/afs/sipb/project/git/git-doc/git-clone.html 
下面讲解ssh和https的方式:
主要是以github举例,其他git服务器连接类似。
ssh和https 都可以clone 到本地,https方式clone项目后每次fetch\pull\push...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)如何在Linux环境下建立Git Server并设置用户 - CSDN博客
如何在Linux环境下建立Git Server并设置用户
版本控制相信大家都听说过。今天我们要来讲解一下如何在Linux环境下建立起Git Server并且设立多个用户可以远端进行push及pull等操作。
我的演示环境是一个Amazon EC2的instance,安装好了Ubuntu 16.04,并且已经安装有git。
我们想达到的目的是这样的:
建立一个名为/srv/git的文件夹,对于我们当前项目,会有一个相应的my_project.git文件夹,我们可以在本地使用git push origin master或者git pull origin master命令来推送或者取回相应的文件。
首先git是存在多种protocol的,我们使用的是ssh。所以在建立用户的时候,我们需要建立相应的public key及private key,并且将public key添加到服务器端.ssh/authorized_keys文件中(稍后会介绍如何操作)。
首先我们需要建立一个用户git,专门用来远端连接,这样可以限制能够接触到文件的用户:
$ adduser git
接下来,我们需要建立起.ssh文件夹及相应的authorized_keys文件,用来添加授权用户的public key:
git@amazon-server-ip:/home/ubuntu$ cd
git@amazon-server-ip:~$ mkdir .ssh && chmod 700 .ssh
git@amazon-server-ip:~$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
建立文件并且添加了相应的文件权限后,我们需要添加开发者的public key。假设我们需要本地连接git服务器,那么我们需要在本地创建一对public key和private key:
$ cd ~/.ssh
$ ssh-keygen -t RSA -b 2048 -C "Local Developer"
根据提示输入相应的密钥文件名及是否设置密码。
(或者我们可以直接使用Amazon后台建立一对新的密钥。Amazon后台生成的密钥为.pem形式,对于后面的步骤若要添加公钥信息,需要使用chmod 400 &new_keypair&.pem以及ssh-keygen -y -f my-public-key.pem来读取.pem文件中的公钥内容)。
然后我们可以看到.ssh文件夹中多出了两个文件,一个无后缀名的文件为私钥,另一个.pub后缀的为公钥。假设我们创建的公钥名称为aws.git.pub,那么对应的私钥就是aws.git。我们需要把公钥中的内容添加到服务器的.ssh/authorized_keys中:
//将aws.git.pub上传到服务器根目录
$ scp -i my-aws-key.pem aws.git.pub ubuntu@amazon-server-ip:~/
//将aws.git.pub中的内容添加到authorized_keys中
ubuntu@amazon-server-ip:~$ sudo cat aws.git.pub && /home/git/.ssh/authorized_keys
(嫌麻烦也可以直接把公钥中的信息粘贴到服务器端的authorized_keys中)
现在我们尝试使用ssh登陆到git@amazon-server-ip:
$ ssh -i ~/.ssh/aws.git git@amazon-server-ip
若显示连接成功,那么我们就可以进行下一步了!
对于AWS,在这里我们还有一个重要的步骤:在~/.ssh中添加名为config的文件,并将以下内容添加至该文件中:
Host my-aws-host-ip
IdentityFile ~/.ssh/aws.git
该步骤目的是为了确保连接服务器时使用的是正确的私钥。
现在我们要建立/srv/git/my_project.git文件夹:
ubuntu@amazon-server-ip:~$ sudo su
root@amazon-server-ip:~$ mkdir -p /srv/git/my_project.git
root@amazon-server-ip:~$ cd /srv/git/my_project.git
root@amazon-server-ip:/srv/git/my_project.git$ git init --bare
Initialized empty Git repository in /srv/git/project.git/
然后我们更改一下文件所属用户:
root@amazon-server-ip:~$ chown -R git /srv
现在我们就可以在本地使用push将我们的project推送到服务器了:
$ cd my-project
$ git init
$ git add .
$ git commit -m "initial commit"
$ git remote add origin git@amazon-server-ip:/srv/git/my-project.git
$ git push origin master
如果我们需要新增用户,只需要将新用户的public key添加到服务器的/home/git/.ssh/authorized_keys文件中就可以了。
参考资料:
本文已收录于以下专栏:
相关文章推荐
我们在上一节(/archives/12658)配置成功了git-server。这里我们新创建一个git项目并允许开者使用.
1. 生成密钥与公钥
在Git使用中经常会碰到多用户问题,例如:你在公司里有一个git账户,在github上有一个账户,并且你想在一台电脑上同时对这两个git账户进行操作,此时就需要进行git多用户配置。
from:http://www.111cn.net/sys/CentOS/54007.htm
在linux中增加用户我们使用useradd命令而删除用户直接使用userdel即可了,下面小编来给各位...
linux上git使用多个账号
最近公司项目需要用到Git来管理项目,正好逢周末花了点时间在虚拟机的unbuntu系统中搭建了下git的服务器,由于搭建过程中多多少少遇到了一些小问题,再因为个人记性不太好,所以在这里记录下来,以备不...
搭建Git服务器需要准备一台运行Linux的机器, 我用的Centos
1 安装Git
yum install git
创建一个git用户,用来运行git服务:
sudo adduser g...
这两天沉迷php web服务器开发不能自拔,但是php和html、js之类的程序要写一点看一点效果,我是放到linux云主机上测试的,所以要在xshell上写代码,很麻烦。
于是想自己在云主机上搭建一...
最近团队中在开发一些项目,由于代码经常改动,搞得头大,就想找个代码管理工具。查了一些资料,最后选择使用git管理代码,下面将搭建的过程记录下来与各位同仁分享。(亲测可以使用)一、准备工作服务器1:IP...
Git Server搭建参考所有相关细节均可以从该文档出获取:http://git.oschina.net/progit/4-%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)新手求助!git如何实现用用户名和密码控制权限。_git吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:1,232贴子:
新手求助!git如何实现用用户名和密码控制权限。收藏
本人新手,请教各位大神在一台linux机器上搭建了git服务器,在windows上使用客户端。希望实现权限控制。在网上的方法是使用gitolite通过ssh密钥的方式实现控制权限,但是公司服务器设置防火墙,只能使用密码登陆,无法实现无密码的秘钥登陆。请问能否链接服务器的时候采用密码登陆,而设置向git服务器提交的 时候需要输入git的用户名和密码然后再通过git的用户名实现权限控制请大神们指点
阿里云云市场提供功能丰富的发者必备软件,帮助用户快速简便的操作和管理云主机服务器以及虚拟主机的管理系统
自己顶一下,有没有大神来帮一下,很捉急。。。
登录百度帐号推荐应用博客访问: 280321
博文数量: 10
博客积分: 560
博客等级: 入伍新兵
技术积分: 344
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
有时候在执行repo upload上传代码的时候会出现To ssh://username@:29442/kernel/msm&! [remote rejected] ltr558 -& refs/for/JB8X25_FC/IHV-LITEON-LTR-558ALS (you are not committer )error: failed to push some refs to 'ssh://username@:29442/kernel/msm'----------------------------------------------------------------------[FAILED] kernel/&&&&&&&& ltr558&&&&&&&&& (Upload failed)这是因为之前git commit已提交的Email和现在正要提交的Email冲突,把它改成一致就OK了。git commit已提交的Author信息可以通过git log查看$git logcommit d91d424e006734cfe7fca758b21b81Author: username &&Date:&& Wed Sep 19 16:14:20 &&& add driver of ltr558 to jb-8x25-fc&&& &&& Change-Id: Ic81c54f96a2aff40cgit config --global user.name "Your Name"git config --global user.email 全局的通过vim ~/.gitconfig来查看git config user.name "Your Name"
git config user.email 局部的通过当前路径下的 .git/config文件来查看也可以修改提交的用户名和Email:git commit --amend --author='Your Name &&'
[转载]git&config的运用
本文中所演示的git操作都是在v1.7.5.4版本下进行的,不同的版本会有差异,更老的版本有些选项未必支持。
当我们安装好git软件包,或者着手在一个新的机子上使用git的时候,我们首先需要进行一些基本的配置工作,这个就要用到git
git config是用于进行一些配置设置,有三种不同的方式来指定这些配置适用的范围:
config&&&&&&&&&&&&
针对一个git仓库
2) git config
--global&&&
针对一个用户
3) sudo git config
--system&&&
针对一个系统,因为是针对整个系统的,所以必须使用sudo
第一种默认当前目录是一个git仓库,假设我们有一个仓库叫git_test,它所修改配置保存在git_test/.git/config文件,如果当前目录不是一个有效的git仓库,在执行‪一些命令时会报错,例如:
$git config -e
fatal: not in a git directory
我们来看一个简单的例子,一般我们clone一个git仓库,默认都是一个工作目录,那么对应的配置变量 bare =
false。来看一个很简单的仓库的config文件,cat git_test/.git/config
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
如果我们想修改bare为false,最简单的办法就是直接用vim打开git_test/.git/config文件进行修改,另一种办法就是使用git
config来修改
$git config core.bare true
$cat .git/config
repositoryformatversion = 0
filemode = true
bare = true
logallrefupdates = true
命令的格式就是 git config
&section&.&key&
&value&。需要注意的是我们没有加--system和--global,那么这个修改只针对于当前git仓库,其它目录的仓库不受影响。
第2种是适用于当前用户,也就是说只要是这个用户操作任何git仓库,那么这个配置都会生效,这种配置保存在~/.gitconfig当中,那什么样的配置需要放到用户的配置文件里呢,git里一个最为重要的信息就是提交者的个人信息,包括提交者的名字,还有邮箱。当我们在用git提交代码前,这个是必须要设置的。显而易见,这个配置需要放在用户一级的配置文件里。
$git config --global user.name "I Love You"
$git config --global user.email "i.love."
$cat ~/.gitconfig
name = I Love You
email = i.love.
3) 第3种是适用于一个系统中所有的用户,也就是说这里的配置对所有用户都生效,那什么样的配置需要放在这里呢,比如我们在执行git
commit会弹出一个默认的编辑器,一般是vim,那作为系统的管理员,可以将vim设置为所有用户默认使用的编辑器,我们来看设置的过程
$sudo git config --system core.editor vim
$cat /etc/gitconfig
[core]&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
editor = vim
我们可以看到它修改的是全局的配置文件/etc/gitconfig。
现在我们就会有一个问题,当我们在不同的配置文件中,对同一个变量进行了设置,最终哪个会生效呢?或者说谁到底覆盖谁呢?先来排除一种情况,就是分属不同的两个git仓库的config文件中的配置是互不影响的,
这个很好理解。那么要讨论是如果一个配置出即出现在/etc/gitconfig,~/.gitconfig以及git_test/.git
/config这三个位置时,我们又恰巧要操作git仓库git_test,那么生效的优先级顺序是(1)git_test/.git/config,(2)~/.gitconfig,(3)/etc/gitconfig,也就是说如果同一个配置同时出现在三个文件中时,(1)有效。
那么为什么会有这样的情况发生呢,比如我们前面的有关编辑器设置,系统管理员为所有用户设置了默认的编辑器是vim,但是并不是每个用户都习惯用vim,
有些人更青睐于功能更炫的emacs(I
it,我刚刚接触linux的时候上来就是用的emacs,让我这个新手不知所措,但是后来使了vim,觉得更容易上手,而且用的时间长了,对vim了解
更深,发现它功能一样强大,而且它可以算是类unix系统中默认的编辑器),言归正传,如果你想用emacs,你就可以将这个配置加入到你
的~/.gitconfig中,这样它就会覆盖系统/etc/gitconfig的配置,当然这只针对于你,其他用户如果不设置还是会用vim。
$git config --global core.editor emacs
$cat ~/.gitconfig
editor = emacs
config只介绍到这,其实除了以上讲解的部分,它还有很多功能。本文中主要是针对介绍不同范围内设置的配置的有效范围,了解它之后,当以后需要对
git进行环境配置时,你就明白根据当前配置的性质,明白是该放在git_test/.git/config,还是在~/.gitconfig,又或是在
/etc/gitconfig中,作为一个资深的版本管理者来说,必须要了解以上的区别。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
tenyears2022
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
阅读(86244) | 评论(0) | 转发(1) |
上一篇:没有了
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 git clone使用用户名 的文章

 

随机推荐