Ⅰ 为什么需要git server
为了存储和中转代码
Ⅱ 请问什么是Git
Git是现在主流的一种代码托管技术。基本上大多数的公司都在使用Git进行协同开发。很多代码托管平台也是通过Git来实现的。
Git可以对代码进行版本控制以及分支管理等。它里面主要包含远程仓库,克隆,本地仓库,分支,提交,拉取等概念。其中远程仓库是指我们代码存储在服务器的地方,并且是我们整个团队中所有人都可以访问的地方。
克隆则是指从远程仓库克隆到本地的过程。本地仓库指的是我们开发人员从远程仓库克隆一份代码之后,保存在我们本地的代码,但是这个代码只有克隆的代码的开发人员可以看到。
分支分为主分支(master分支)和开发分支(develop分支),但我们开发的时候,基本不在master上面进行开发,而是我们自己从主分支或者开发分支中再分出来一条分支,然后我们就在这个分支上进行开发,里面的每个分支都有自己的代码。
提交是指在我们的代码开发完成之后,需要将其修改并且说明修改的内容进行提交,但是此时的代码只会提交到我们本地的仓库,远程仓库此时还不会修改。
拉去的意思指在开发中,同一个项目可能是多人协作开发,那么我们就需要将别人修改的代码拉去并合并到自己的代码中。
合并,顾名思义是指在我们自己的分支开发完成并且检查没有发现问题之后,就需要将我们的分支合并到主分支上面。
推送指由于之前的所有操作都是在我们本地进行的,远程仓库的代码并没有任何的改变,这就需要我们将本地的代码推送到远程的仓库中,更新远程仓库代码。
在开发中,我们可以合理地使用Git并且对它进行管理,当新版本遇到问题之后,我们就可能需要使用旧版本的代码并将代码进行回滚,以解决突发问题。
(2)什么是git服务器扩展阅读
游戏编程的简单介绍
游戏编程指利用计算机编程语言,如C编程语言、C++、java等,编写计算机、手机或游戏机上的游戏。 目前流行的游戏编程语言为C++编程语言,游戏编程接口为DirectX9.0、OpenGL和SDL(Simple DirectMedia Layer)等。现在手机上玩的游戏分为Android与IOS两种平台,分别是用java和object-c(或swift)。当然时下也流行一些跨平台的编程引擎,例如cocos2d-x、unity 3D等。
Ⅲ git服务器端有几种办法
Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
Git 是 Linus Torvalds 为了帮助管理 linux 内核开发而开发的一个开放源码的版本控制软件。
Git的主要功能:
1. 检查电子邮件或其他方式来检查提交状态的平均开发人员。
2. 修补程序并解决冲突(您自己或要求开发人员稍后重新提交它,如果它是一个开源项目,请确定哪些修补程序可以工作,哪些不能)。
3.将结果提交到公共服务器,然后通知所有开发人员。
(3)什么是git服务器扩展阅读:
Git的优缺点:
优点:
1. 适合分布式开发,强调个人。
2. 公共服务器压力和数据量不是太大。
3.快速和灵活。
4.任何两个开发人员之间的冲突都可以很容易地解决。
5. 离线工作。
缺点:
1. 数据很少(至少是中文)。
2. 学习周期相对较长。
3.不符合传统思维。
4. 可怜的代码的机密性。一旦开发人员克隆了整个库,所有代码和版本信息都可以完全公开。
Ⅳ windows搭建git服务器 哪个好
安装msysgit
安装步骤此处略去。
END
安装CopSSH
安装步骤此处略去。
END
修改配置
修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,确保如下行为非注释行,且设置为“no”:
END
生成用户帐号
在服务器上生成Windows用户,取消用户下次登录时须更改密码,设置密码永不过期:
将该用户隶属于GitUser组(如尚未生成改组,则先生成改组):
Ⅳ 什么是“git”服务器
1、git是一种分布式的版本管理系统,Linux的创造者Linus写的。
2、GitHub是基于git的代码库托管站,也算是程序员的SMS(以码会友),其中一个主要的开源代码发布或托管站
3、git的作用就是对文件进行版本管理,方便在不同版本进行切换修改,类似文件分不同时间备份让后需要时找回其中一份代替,不过更方便使用。
4、GitHub某种程度上就是代码的网盘,也有开源开发商作为代码发布、存放、征集Bug和意见用。
5、git的特点:
1)就是云的概念,代码可以存在云端git的网站上,就像我们在各种设备间都能浏览到自己存储的网盘文件 一样,我们在各个设备间都能访问到自己的代码。
2)它的社交属性。因为代码是开源的,每个人都可以浏览别人的项目并提出意见,而且它像微博一样,你能粉别人,也能被别人粉。如果你是大牛,如果你或者你的项目够有趣,你就会有很多粉丝,你的项目也会被更多的人star。
3)它能给团队合作带来很大帮助。现在有些公司就是用github来开发项目的。github允许多人多分支的工作,并且标示别人的修改和备注,最后还能合并。
Ⅵ 自己搭建的git服务器怎么使用
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在windows下的开发要把自己的Git仓库共享出去的话,就必 须做SSH服务器。
一、安装GIT
Windows下使用msysgit,
本文使用Git-1.7.8-preview20111206.exe 安装要点步骤
安装完成后,可以使用Git bash在命令行模式下操作git
二、安装CopSSH
安装CopSSH之前先确保防火墙开启了SSH端口,这个虽然不影响CopSSH的安装,但是影响SSH访问,所以写在前面。
CopSSH是windows下的SSH服务器软件,下载地址之,本文使用的是Copssh_4.1.0_Installer.exe,
安装完成后,到控制面板中新建一个管理员账户root,用这个账户来共享SSH。然后你在账户管理中会看到之前的SvcCOPSSH账户。
将root用户添加到CopSSH用户中,为简单操作,允许使用密码认证方式
若是不允许密码认证,则需要使用公钥密钥方式认证,
三、CopSSH中使用GIT
现在已经安装GIT和CopSSH,接下来需要做的就是让CopSSH可以使用GIT的命令,这样不仅能够远程SSH管理GIT服务器,而且可以将GIT仓库通过SSH共享。具体的操作方法是将GIT的某些命令程序和动态链接库复制到CopSSH安装目录下即可。
l 将$ Git\libexec\git-core目录下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe复制到$ICW\bin目录下
l 将$Git\bin目录下的libiconv-2.dll复制到$ICW\bin目录下
重启CopSSH即可
Ⅶ 如何搭建linux git服务器
首先我们分别在Git服务器和客户机中安装Git服务程序(刚刚实验安装过就不用安装了):
[root@linuxprobe ~]# yum install git
Loaded plugins: langpacks, proct-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Package git-1.8.3.1-4.el7.x86_64 already installed and latest version
Nothing to do
然后创建Git版本仓库,一般规范的方式要以.git为后缀:
[root@linuxprobe ~]# mkdir linuxprobe.git
修改Git版本仓库的所有者与所有组:
[root@linuxprobe ~]# chown -Rf git:git linuxprobe.git/
初始化Git版本仓库:
[root@linuxprobe ~]# cd linuxprobe.git/
[root@linuxprobe linuxprobe.git]# git --bare init
Initialized empty Git repository in /root/linuxprobe.git/
其实此时你的Git服务器就已经部署好了,但用户还不能向你推送数据,也不能克隆你的Git版本仓库,因为我们要在服务器上开放至少一种支持Git的协议,比如HTTP/HTTPS/SSH等,现在用的最多的就是HTTPS和SSH,我们切换至Git客户机来生成SSH密钥:
[root@linuxprobe ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
65:4a:53:0d:4f:ee:49:4f:94:24:82:16:7a:dd:1f:28 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| .o+oo.o. |
| .oo *.+. |
| ..+ E * o |
| o = + = . |
| S o o |
| |
| |
| |
| |
+-----------------+
将客户机的公钥传递给Git服务器:
[root@linuxprobe ~]# ssh--id 192.168.10.10
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '192.168.10.10'"
and check to make sure that only the key(s) you wanted were added.
此时就已经可以从Git服务器中克隆版本仓库了(此时目录内没有文件是正常的):
[root@linuxprobe ~]# git clone [email protected]:/root/linuxprobe.git
Cloning into 'linuxprobe'...
warning: You appear to have cloned an empty repository.
[root@linuxprobe ~]# cd linuxprobe
[root@linuxprobe linuxprobe]#
初始化下Git工作环境:
[root@linuxprobe ~]# git config --global user.name "Liu Chuan"
[root@linuxprobe ~]# git config --global user.email "[email protected]"
[root@linuxprobe ~]# git config --global core.editor vim
向Git版本仓库中提交一个新文件:
[root@linuxprobe linuxprobe]# echo "I successfully cloned the Git repository" > readme.txt
[root@linuxprobe linuxprobe]# git add readme.txt
[root@linuxprobe linuxprobe]# git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached ..." to unstage)
#
# new file: readme.txt
#
[root@linuxprobe linuxprobe]# git commit -m "Clone the Git repository"
[master (root-commit) c3961c9] Clone the Git repository
Committer: root
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
[root@linuxprobe linuxprobe]# git status
# On branch master
nothing to commit, working directory clean
但是这次的操作还是只将文件提交到了本地的Git版本仓库,并没有推送到远程Git服务器,所以我们来定义下远程的Git服务器吧:
[root@linuxprobe linuxprobe]# git remote add server [email protected]:/root/linuxprobe.git
将文件提交到远程Git服务器吧:
[root@linuxprobe linuxprobe]# git push -u server master
Counting objects: 3, done.
Writing objects: 100% (3/3), 261 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:/root/linuxprobe.git
* [new branch] master -> master
Branch master set up to track remote branch master from server.
为了验证真的是推送到了远程的Git服务,你可以换个目录再克隆一份版本仓库(虽然在工作中毫无意义):
[root@linuxprobe linuxprobe]# cd ../Desktop
[root@linuxprobe Desktop]# git clone [email protected]:/root/linuxprobe.git
Cloning into 'linuxprobe'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
[root@linuxprobe Desktop]# cd linuxprobe/
[root@linuxprobe linuxprobe]# cat readme.txt
I successfully cloned the Git repository
这篇是详细介绍Git的,中间有一部分是怎么去搭建,你可以看下
Ⅷ Git是什么
Git是什么?
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
Git有什么特点?简单来说就是:高端大气上档次!
那什么是版本控制系统?
如果你用Microsoft Word写过长篇大论,那你一定有这样的经历:
想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,这样一直改下去,最后你的Word文档变成了这样:
过了一周,你想找回被删除的文字,但是已经记不清删除前保存在哪个文件里了,只好一个一个文件去找,真麻烦。
看着一堆乱七八糟的文件,想保留最新的一个,然后把其他的删掉,又怕哪天会用上,还不敢删,真郁闷。
更要命的是,有些部分需要你的财务同事帮助填写,于是你把文件Copy到U盘里给她(也可能通过Email发送一份给她),然后,你继续修改Word文件。一天后,同事再把Word文件传给你,此时,你必须想想,发给她之后到你收到她的文件期间,你作了哪些改动,得把你的改动和她的部分合并,真困难。
于是你想,如果有一个软件,不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便?
这个软件用起来就应该像这个样子,能记录每次文件的改动:
版本
用户
说明
日期
1 张三 删除了软件服务条款5 7/12 10:38
2 张三 增加了License人数限制 7/12 18:09
3 李四 财务部门调整了合同金额 7/13 9:51
4 张三 延长了免费升级周期 7/14 15:17
这样,你就结束了手动管理多个“版本”的史前时代,进入到版本控制的20世纪。
Ⅸ 怎么搭建git 服务器
1、安装OpenSSH并配置SSH无密码登陆
通过命令 sudo apt-get install openssh-server,安装SSH服务。
通过命令 ps –e|grep ssh,查看ssh服务是否启动。
通过以上命令,我们为Ubantu系统安装SSH服务,并配置SSH无密码登陆,首先我们修改主机和ip配置文件:gedit /ect/hosts
2、创建用户git,用来管理运行git服务。
3、配置无密码SSH登陆
在gitClient_01上,我们使用命令:ssh-keygen –t rsa 生成密钥
完成之后,在.ssh目录下,我们可以看到id_rsa和id_rsa.pub文件,id_rsa.pub为公钥,我们 通过命令scp /home/git/.ssh/id_rsa.pub gitServer:/home/git将gitClient_01上生成的公钥拷贝到gitServer上。
在gitServer上我们首先查看/home/git/.ssh目录下是否存在authorized_kesys文件,
如果没有,可以通过touch authorized_keys创建此文件。
Authorized_keys创建完成后,将gitClient_01上拷贝过来的公钥id_rsa.pub的内容追 加到authroized_keys中,注意是追加到此文件中,可以使用命令cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.
以上内容完成后,我们在gitClient_01中,可以使用命令ssh gitServer即可完成无密码登陆。
4、安装Git
通过命令 sudo apt-get install git-core,安装git
5、建立git仓库的存储目录。
6、初始化服务器端仓库
使用命令 git –bare init /home/git/myRep.git,初始化化仓库
7、在gitClient_01上,通过git clone命令进行克隆远程仓库,并在各自的电脑上运行开发。
Git clone git@gitServer:/home/git/myRep.git
通过以上的步骤就完成了git服务器的搭建!
Ⅹ git 服务端 客户端 有什么区别
请在此输入您的回答
Git是分布式的,并没有服务端跟客户端之分,所谓的服务端安装的其实也是git。Git支持四种协议,file,ssh,git,http。ssh是使用较多的,下面使用ssh搭建一个免密码登录的服务端。
1、提前安装git跟sshserver;
2、 创建一个用户,用来运行git服务;
新建一个用户,叫gituser,然后切换到gituser的默认目录,创建一个叫.ssh的文件夹,并在其中创建一个叫authorized_keys的文件,这个文件将用于存储git开发者的ssh公钥。