git服务器的使用

<span style="font-size:32px;"><a target=_blank href="http://blog.csdn.net/hgz_gs/article/details/52039469">何:http://blog.csdn.net/hgz_gs/article/details/52039469</a></span>
<span style="font-size:24px;">  git init				仓库被初始化
1.git add 				添加文件到staged area(索引).
2.git diff --cached/git status		查看添加到索引的文件那些进行修改了
   git diff master..test		显示master与test版本的差别
3.git commit 				提示进程注释,完成后就会记录一个新的项目版本,提交
	git commit -a			自动把所有内容被修改的文件(不包括新建的文件)添加到索引中,并提交
4.git branch he				创建一个he分支
5.git branch				查看分支,*表示当前工作分支 
  gitk					显示项目的历史
  git branch  -d he			删除分支
  git branch -D	he			强制删除分支
6.git checkout he			切换分支
  git checkout -b mywork origin		基于远程分支"origin",创建一个叫"mywork"的分支
7.git merge he				合并分支,把he合并到当前
8.git reset --hard HEAD			撒销一个合并
9.git clone /home/alice/project myrepo	克隆
  git clone git://git.kernel.org/pub/scm/git/git.git
  git clone http://www.kernel.org/pub/scm/git/git.git
  git clone https://github.com/bugquella/cqc.git
  git clone git@github.com:bugquella/cqc.git
10.git pull /home/bob/myrepo master	git pull命令执行两个操作: 它从远程分支(remote branch)抓取修改 的内容,然后把它合并进当前的分支
11.git remote add bob /home/bob/myrepo	git remote命令建立了Bob的运程仓库的缩写,用这个(缩写) 名字我从Bob那得到所有远程分支的历史记录
   git fetch bob			执行"git pull"前半部分的工作, 但是这条命令并不会把抓下来的修改合并到当前分支里
   git remote show origin 		查看远程消息
   git remote add origin git@github.com:cqcre/cqc.git 建立远程分支
   git remote -v			查看远程分支
   git fetch origin master		从远程的origin仓库的master分支下载代码到本地的origin master
12.git log -p master..bob/master	上面的命令把Bob从Alice的主分支(master)中签出后所做的修改全部显示出来
13.git merge bob/master			把修改合并到她的主分支中
   git merge origin/master		把远程下载下来的代码合并到本地仓库,远程的和本地的合并



14.git log				git log命令可以显示所有的提交
15.git log v2.5.. Makefile fs/		找出所有从"v2.5“开 始在fs目录下的所有Makefile的修改
16.git log -p				显示补丁
17.git log --stat			显示在每个提交(commit)中哪些文件被修改了, 这些文件分别添加或删除了多少行内容
18.git push ssh://yourserver.com/~you/proj.git master:master 	将修改推到一个公共仓库
   git push -u origin master		把本地库的所有内容推送到远程库
   git push https://github.com/bugquella/cqc.git master:master
   git push git@github.com:bugquella/cqc.git master:master
   git push ssh://yourserver.com/~you/proj.git +master	强制git-push在上传修改时先更新,只要在分支名前面加一个加号</span>



</span>

<pre name="code" class="python">/*******************************************************************/
1、安装git服务器与ssh服务器:
		sudo apt-get install git-core openssh-server openssh-client
  ssh安装与配置:<a target=_blank href="http://blog.csdn.net/hgz_gs/article/details/52039218">http://blog.csdn.net/hgz_gs/article/details/52039218</a>
2、创建自己的仓库:用户共享,会在当前目录下创建.git目录
<span style="white-space:pre">	</span>git init
3、把当前的文件添加到staged area(索引)
<span style="white-space:pre">	</span>git add file1 file2
4、提交
<span style="white-space:pre">	</span>git commit -a //将会弹出一个窗口叫你注释本次修改的注释说明
5、访问(克隆):新建一个窗口 $su 用户名 登录另一个用户
   ///home/alice/project 为刚才创建创库的地方;myrepo为克隆后文件所在的地方
<span style="white-space:pre">	</span>git clone /home/alice/project myrepo

6、查看文件有那些进行修改了
<span style="white-space:pre">	</span>git diff --cached	查看添加到索引的文件哪些进行修改了,add之后
<span style="white-space:pre">	</span>git status<span style="white-space:pre">		</span>查看那些文件进行了修改,就是没有add之前

7、图形界面查看文件的版本信息
<span style="white-space:pre">	</span>gitk
</pre><pre name="code" class="python">
/*******************************************************************/

分支操作:

1、回到最开始创建仓库的地方/home/alice/project
	cd /home/alice/project
</pre><pre name="code" class="python">2、查看当前分支
<span style="white-space:pre">	</span>git brabch
3、创建分支
<span style="white-space:pre">	</span>git branch mybran
<span style="white-space:pre">	</span>再使用git brabch就会看到刚创建的分支,其中带*的就是当前工作的分支
4、切换分支
<span style="white-space:pre">	</span>git checkout mybran 
<span style="white-space:pre">	</span>//切换工作分支,使用git branck 查看分支,可以看到mybran带*号
</pre><pre name="code" class="python">5、修改文件
<span style="white-space:pre">	</span>vi file1
6、查看分支内容修改
<span style="white-space:pre">	</span>git diff --cached<span style="white-space:pre">	</span>查看添加到索引的文件哪些进行修改了,add之后
<span style="white-space:pre">	</span>git status	<span style="white-space:pre">	</span>查看那些文件进行了修改,就是没有add之前
7、删除分支
<span style="white-space:pre">	</span>git branch  -d <span style="white-space:pre">		</span>删除分支
<span style="white-space:pre">	</span>git branch -D<span style="white-space:pre">		</span>强制删除分支,当修改内容没有提交时使用
8、合并分支
<span style="white-space:pre">	</span>git merge mybran<span style="white-space:pre">	</span>合并分支,把mybran合并到当前
9、撤销合并
<span style="white-space:pre">	</span>git reset --hard HEAD	撒销一个合并</span>
</pre><pre name="code" class="python">
/*******************************************************************/
不同主机访问git:通过ssh服务器进行操作

1、设置Git的user name 和email:(如果是第一次使用的话,这里的用户名与email随便)

<span style="white-space:pre">	</span>$ git config --global user.name "humingx"
<span style="white-space:pre">	</span>$ git config --global user.email "humingx@yeah.net"

2、注册github帐号
	<a target=_blank href="https://github.com/">https://github.com/</a>
<span style="white-space:pre">	</span>sign up-->填写你的用户名.邮箱.密码-->create an account

3、生成密匙
	$ ssh-keygen -t rsa -C "hegaozhi@163.com"
	//hegaozhi@163.com你在 github注册的邮箱
<span style="white-space:pre">	</span>连续3个回车。如果不需要密码的话。
	最后得到了两个文件:id_rsa和id_rsa.pub。在家目录的.shh目录里,这里不要使用管理员权限

4、添加密钥到ssh-agent
<span style="white-space:pre">	</span>$ ssh-add ~/.ssh/id_rsa
<span style="white-space:pre">	</span>//添加生成的 SSH key 到 ssh-agent。
<span style="white-space:pre">	</span>确保 ssh-agent 是可用的。ssh-agent是一种控制用来保存公钥身份验证所使用的私钥的程序,其实ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。
 /*# start the ssh-agent in the background
  eval "$(ssh-agent -s)"
<span style="white-space:pre">	</span>Agent pid 59566*/</span>

5、登录Github,添加ssh
<span style="white-space:pre">	</span><a target=_blank href="https://github.com/">https://github.com/</a>
<span style="white-space:pre">	</span>登录你的帐号
Settings--》ssh and gpg keys -->new ssh key
在title中随便命名一个key的名字
<span style="white-space:pre">	</span>把id_rsa.pub文件里的内容复制到这key中

6、测试
<span style="white-space:pre">	</span>$ ssh -T git@github.com
你将会看到:
    The authenticity of host 'github.com (207.97.227.239)' can't be established.
    RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
    Are you sure you want to continue connecting (yes/no)?
选择 yes
如果看到Hi后面是你的用注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。
密码正确后你会看到下面这段话,如:
Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.
如果用户名是正确的,你已经成功设置SSH密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你就需要使用 https 去访问,而不是 SSH 。
户名,就说明成功了。

7、修改.git文件夹下config中的url。
修改前
    [remote "origin"]
    url = https://github.com/humingx/humingx.github.io.git
    fetch = +refs/heads/*:refs/remotes/origin/*
修改后
    [remote "origin"]
    url = git@github.com:humingx/humingx.github.io.git
    fetch = +refs/heads/*:refs/remotes/origin/*</span>

8、发布
什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
现在,我们根据GitHub的提示,在本地的learngit仓库下运行命令:

</pre><pre name="code" class="python">先在GitHub官网中新建一个repository名称为cqc

点击右上角的+号:new repository
<span style="white-space:pre">	</span>Repository nam:cqc
<span style="white-space:pre">	</span>create repository
在终端你要发布的文件的目录中
<span style="white-space:pre">	</span>$ git remote add origin git@github.com:bugquella/cqc.git

<span style="white-space:pre">	</span>请千万注意,把上面的 bugquella 替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
</pre><pre name="code" class="python">下一步,就可以把本地库的所有内容推送到远程库上:
<span style="white-space:pre">	</span>$ git push -u origin master</span></span>
好啦,静静等待git把你的代码Push上去吧~是不是很简单?

9、测试
<span style="font-family: Arial, Helvetica, sans-serif;">在另一台电脑把ssh的服务打开 :网络连上</span>
<span style="white-space:pre">	</span>$sudo service ssh restart
把远程仓库的代码克隆下来:
<span style="white-space:pre">	</span>$git clone git@github.com:bugquella/cqc.git
或者:
<span style="white-space:pre">	</span>git clone https://github.com/bugquella/cqc.git

 


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要创建一个 Git 服务器,您需要有一个可用的 Linux 服务器。以下是一些步骤以在 Linux 上创建 Git 服务器: 1. 安装 Git 首先,您需要安装 Git。如果您使用的是 Ubuntu 或 Debian 等基于 Debian 的发行版,则可以使用以下命令安装 Git: ``` $ sudo apt-get install git ``` 如果您使用的是 CentOS 或 RHEL 等基于 Red Hat 的发行版,则可以使用以下命令安装 Git: ``` $ sudo yum install git ``` 2. 创建 Git 用户 为了保护您的 Git 存储库,最好使用一个单独的用户来运行 Git 服务器使用以下命令创建一个名为 git 的用户: ``` $ sudo adduser git ``` 3. 创建 Git 存储库 在 git 用户的主目录中创建一个名为 myrepo.git 的空 Git 存储库: ``` $ sudo su - git $ mkdir myrepo.git $ cd myrepo.git $ git init --bare ``` 4. 添加 SSH 公钥 在 Git 服务器使用 SSH 进行身份验证。因此,您需要在 Git 用户的主目录中创建一个名为 .ssh 的目录,并在其中添加一个授权密钥。假设您已经有一个 SSH 密钥对,可以将公钥复制到 Git 用户的 .ssh/authorized_keys 文件中: ``` $ mkdir ~/.ssh $ chmod 700 ~/.ssh $ touch ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys $ cat id_rsa.pub >> ~/.ssh/authorized_keys ``` 5. 克隆存储库 现在,您可以从 Git 服务器上的存储库克隆代码。假设您的服务器 IP 地址为 192.168.1.100,并且您使用的是名为 myrepo.gitGit 存储库,则可以使用以下命令克隆存储库: ``` $ git clone git@192.168.1.100:myrepo.git ``` 现在您已经成功创建了一个简单的 Git 服务器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听雨听风眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值