导航:首页 > IDC知识 > git代码服务器

git代码服务器

发布时间:2021-03-10 03:02:03

1、什么是git服务器

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git的主要功能:

1、查看邮件或者通过其它方式查看一般开发者的提交状态。

2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

3、向公共服务器提交结果,然后通知所有开发人员。



(1)git代码服务器扩展资料:

Git的优缺点:

优点:

1、适合分布式开发,强调个体。

2、公共服务器压力和数据量都不会太大。

3、速度快、灵活。

4、任意两个开发者之间可以很容易的解决冲突。

5、离线工作。

缺点:

1、资料少(起码中文资料很少)。

2、学习周期相对而言比较长。

3、不符合常规思维。

4、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

2、git怎么clone服务器上的代码

1
准备,下载git到你的电脑上,下载地址:
安装,直接下一步下一步就好,记得下载位置就好,配置的时候要用
2
在studio中设置git插件:File->Setting->Version Control->Git,添加您刚刚安装的git地址目录,例如: C:\Program Files\Git\bin\git.exe ,
然后可以点击Test测试一下,如下图:那么你就设置成功了。

3
初始化git项目(git init),操作如下:VCS->Enable Control Integration->Select "Git".
4
为git添加remote,在这一步中,studio没有为我们提供可视化的GUI,得用Git工具了。找到并打开git安装目录下面的Git Bash,将目录切换到项目的目录,然后输入git添加remote的命令,例如:git remote add origin "".

5
将代码添加到VCS(git add),选中要提交的文件->VCS->Git->Add,

6
提交变化(git commit),VCS->Commit Changes, 在提交的时候可以选择Commit and Push,就可以直接push到服务器。

7
Git Push,VCS->Git->Push.
最后,如果要是clone project到studio

3、什么是git服务器?

Git是目前世界上最先进的分布式版本控制系统(没有之一)。
Git有什么特点?简单来说就是:高端大气上档次!
那什么是版本控制系统?
如果你用Microsoft 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服务器
搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装。
假设你已经有sudo权限的用户账号,下面,正式开始安装。
第一步,安装git:
$ sudo apt-get install git

第二步,创建一个git用户,用来运行git服务:
$ sudo adser gi

第三步,创建证书登录:
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
第四步,初始化Git仓库:
先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:
$ sudo git init --bare sample.git

Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
$ sudo chown -R git:git sample.git

第五步,禁用shell登录:
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bas

改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
第六步,克隆远程仓库:
现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:
$ git clone git@server:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.

剩下的推送就简单了。
管理公钥
如果团队很小,把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里就是可行的。如果团队有几百号人,就没法这么玩了,这时,可以用Gitosis来管理公钥。
这里我们不介绍怎么玩Gitosis了,几百号人的团队基本都在500强了,相信找个高水平的Linux管理员问题不大。
管理权限
有很多不但视源代码如生命,而且视员工为窃贼的公司,会在版本控制系统里设置一套完善的权限控制,每个人是否有读写权限会精确到每个分支甚至每个目录下。因为Git是为Linux源代码托管而开发的,所以Git也继承了开源社区的精神,不支持权限控制。不过,因为Git支持钩子(hook),所以,可以在服务器端编写一系列脚本来控制提交等操作,达到权限控制的目的。Gitolite就是这个工具。
这里我们也不介绍Gitolite了,不要把有限的生命浪费到权限斗争中。

4、如何将代码上传到git服务器上

1、本地公钥的获取,

cd ~/.ssh

ls   

使用指令ssh-keygen,生产公钥,第一个提示时输入文件(默认是id_rsa),第二个提示时输入的是密钥,

公钥放置在id_rsa.pub文件中。

2、按照code的提示,进行代码上传。

2.1  建立一个git文件件,比如git_csdn ,

2.2  git init,建仓操作,

2.3  可以新建一个readme.md, touch README.md

2.4 git add.添加所有文件,git add file,添加file,比如git add README

2.5 git commit -m "first commit"

2.6 git remote add origin git @ url 地址

2.7 git push -u origin master

3、git clone 地址

4、git remote 不带参数,列出已经存在的远程分支

$ git remote

origin

5、配置:

$ git config --global user.name "John Doe"

$ git config --global user.email [email protected]

出现的问题:Updates were rejected because the tip of your current branch is behind

有如下几种解决方法:
1.使用强制push的方法:
$ git push -u origin master -f
这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。
2.push前先将远程repository修改pull下来
$ git pull origin master
$ git push -u origin master
3.若不想merge远程和本地修改,可以先创建新的分支:
$ git branch [name]
然后push
$ git push -u origin [name]

分支管理:

1、创建分支: git branch  new_branch

2、查看分支:git branch

3、删除分支:git branch  -d new_branch

4、切换分支:git checkout  new_branch

5、创建分支并切换分支: git checkout  -b new_branch即可在本地新建分支,并使用该分支track远程分支

6、提交并推送分支:

git  add .

git  commit -m "xxx"

git  push -u origin new_branch

7、删除远程分支:git  push origin --delete new_branch

8、合并分支: git merge  new_branch

9、将本地更新上传到远程分支上:

例如本地新建或是更新了内容newfile.c文件, 

首先git add newfile.c,

然后git commit -m "add new file",

紧接着git push 本地分支名 远程分支名即可将本地分支更新到远程分支。

10.获取远程分支

git fetch 从远程获取其他用户push上来的新分支

git remote -v  即可查看远程所有的版本信息

5、搭建git服务器需要什么样的配置

搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装。
假设你已经有sudo权限的用户账号,下面,正式开始安装。
第一步,安装git:
$ sudo apt-get install git

第二步,创建一个git用户,用来运行git服务:
$ sudo adser git

第三步,创建证书登录:
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
第四步,初始化Git仓库:
先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:
$ sudo git init --bare sample.git

Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
$ sudo chown -R git:git sample.git

第五步,禁用shell登录:
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash

改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
第六步,克隆远程仓库:
现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:
$ git clone git@server:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.

剩下的推送就简单了。

管理公钥
如果团队很小,把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里就是可行的。如果团队有几百号人,就没法这么玩了,这时,可以用Gitosis来管理公钥。
这里我们不介绍怎么玩Gitosis了,几百号人的团队基本都在500强了,相信找个高水平的Linux管理员问题不大。

管理权限
有很多不但视源代码如生命,而且视员工为窃贼的公司,会在版本控制系统里设置一套完善的权限控制,每个人是否有读写权限会精确到每个分支甚至每个目录下。因为Git是为Linux源代码托管而开发的,所以Git也继承了开源社区的精神,不支持权限控制。不过,因为Git支持钩子(hook),所以,可以在服务器端编写一系列脚本来控制提交等操作,达到权限控制的目的。Gitolite就是这个工具。

6、git怎么将我的代码强制切换成服务器的代码

还没有想到办法解决。

(先备份当前有修改过的文件)

最好,先返回指定版本
git reset old_commit_id

然后,新建分支
git branch -b rcommit_id

再,删除线上的master分支(将默认分支切换到其它分支)
git push origin :master

然后,将之前备份的文件覆盖当前分支内的文件。
最后,将分支名改为master,再提交即可,再设置为默认分支。

git branch -m rcommit_id master
git push origin master

7、git服务器端有几种办法

Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git的主要功能:

1. 检查电子邮件或其他方式来检查提交状态的平均开发人员。

2. 修补程序并解决冲突(您自己或要求开发人员稍后重新提交它,如果它是一个开源项目,请确定哪些修补程序可以工作,哪些不能)。

3.将结果提交到公共服务器,然后通知所有开发人员。

(7)git代码服务器扩展资料:

Git的优缺点:

优点:

1. 适合分布式开发,强调个人。

2. 公共服务器压力和数据量不是太大。

3.快速和灵活。

4.任何两个开发人员之间的冲突都可以很容易地解决。

5. 离线工作。

缺点:

1. 数据很少(至少是中文)。

2. 学习周期相对较长。

3.不符合传统思维。

4. 可怜的代码的机密性。一旦开发人员克隆了整个库,所有代码和版本信息都可以完全公开。

8、eclipse怎么用git将代码提交到服务器

打开后,选中要提交的git项目。右键->"Team"->“Commit...”。

打开Commit Changes窗口后,点击“Commit and Push”按钮。

进入到"Push Results"窗口后,点击"Configure"按钮。

打开"Configure Push"窗口后,点击"change"按钮,进行git URI的修改。

修改git服务新的URI和GitLab的账号,并点击"Finish"按钮。

返回到"Configure Push"窗口后,点击"Save and Push"按钮,提交本地代码。

若出现如下窗口,证明本地代码提交成功。

9、什么是“git”服务器?

1、git是一种分布式的版本管理系统,Linux的创造者Linus写的。

2、GitHub是基于git的代码库托管站,也算是程序员的SMS(以码会友),其中一个主要的开源代码发布或托管站

3、git的作用就是对文件进行版本管理,方便在不同版本进行切换修改,类似文件分不同时间备份让后需要时找回其中一份代替,不过更方便使用。

4、GitHub某种程度上就是代码的网盘,也有开源开发商作为代码发布、存放、征集Bug和意见用。

5、git的特点:

1)就是云的概念,代码可以存在云端git的网站上,就像我们在各种设备间都能浏览到自己存储的网盘文件 一样,我们在各个设备间都能访问到自己的代码。 

2)它的社交属性。因为代码是开源的,每个人都可以浏览别人的项目并提出意见,而且它像微博一样,你能粉别人,也能被别人粉。如果你是大牛,如果你或者你的项目够有趣,你就会有很多粉丝,你的项目也会被更多的人star。 

3)它能给团队合作带来很大帮助。现在有些公司就是用github来开发项目的。github允许多人多分支的工作,并且标示别人的修改和备注,最后还能合并。


10、git 怎么把本地代码上传到服务器

您将您本地的修改做了一次commit

git add .

git commit -m 'fix something'

推送到服务器

git push origin master

与git代码服务器相关的知识