当前位置:首页 » 云服务器 » 怎么git服务器上最新的更新

怎么git服务器上最新的更新

发布时间: 2022-11-27 02:19:36

① ubntu 下git 怎么拉取服务器的最新代码

面去,要得时候在pull到自己电脑上。
你的文件一共可以放在三个地方,一:你的本地库,二:你的当前修改缓存,三:公共服务器的远程库。在使用git服务器时,需要先在自己电脑上建立一个本地库,用来存放和克隆远程库的内容,当然克隆前应该先初始化一下。然后当你对你当前本地库里的文件进行完更改之后,它只是停留在本地缓存,你需要提交命令来将更改保存到本地库,在这完成之后,你需要将你的修改完的新版本的库push到远程服务器的库中。这样当别人在他的电脑上更新远程库后,就可以看到你修改的内容,当然还可以看到修改之前的版本。
2.实验室服务器说明:
实验室git服务器ip地址为IP
实验室git服务器登陆用户选择bupt-server-1,一般修改在这个用户

② 如何将代码上传到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.4git add.添加所有文件,git add file,添加file,比如git add README

2.5git commit -m "first commit"

2.6git remote add origin git @ url 地址

2.7git push -u origin master

3、git clone 地址

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

$ git remote

origin

5、配置:

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

$ git config --global [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 即可查看远程所有的版本信息

云服务器使用git更新部分代码,需要用到远程仓库吗

  1. 在服务器上创建一个git仓库 git init

  2. 在本地点卯克隆远程git仓库到本地 git clone

  3. 本地仓库里面写代码,添加、提交到本地仓库 git add ; git commit

  4. 推送到远程代码仓库 git push

④ git的仓库和web站点不在一台服务器上,怎么自动更新

1. 架设Git服务器 我们以Ubuntu为例。首先,在git服务器上创建一个名为 'git' 的用户,并为其创建一个.ssh 目录。并将其权限设置为仅git用户有读写权限 $ sudo adser git $ su git $ cd $ mkdir .ssh $ chmod 700 .ssh 接下来,把开发者的 SSH 公钥添加到这个用户的 authorized_keys 文件中。假设你通过电邮收到了几个公钥并存到了临时文件里。重复一下,公钥大致看起来是这个样子: $ cat /tmp/id_rsa.john.pub ssh-rsa /ww+ouN4gSLKssMxXnBOvf9LGt4L ojG6rs6hPB09j9R/T17//5zytK6Ztg3RPKK+4k Ez /nLF6JLtPofwFBlgc+myiv Pq dAv8JggJICUvax2T9va5 gsg-keypair 只要把它们逐个追加到 authorized_keys 文件尾部即可,同时将authorized_keys设置为仅git用户有读写权限。 $ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys $ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys $ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys 现在可以用 --bare 选项运行 git init 来建立一个裸仓库,这会初始化一个不包含工作目录的仓库。 $ cd /opt/git $ mkdir project.git $ cd project.git $ git --bare init 这时,Join,Josie 或者 Jessica 就可以把它加为远程仓库,推送一个分支,从而把第一个版本的项目文件上传到仓库里了。值得注意的是,每次添加一个新项目都需要通过 shell 登入主机并创建一个裸仓库目录。我们不妨以 gitserver 作为 git 用户及项目仓库所在的主机名。如果在中国络内部运行该主机,并在 DNS 中设定 gitserver 指向该主机,那么以下这些命令都是可用的: # 在 John 的电脑上 $ cd myproject $ git init $ git add . $ git commit -m 'initial commit' $ git remote add origin git@gitserver:/opt/git/project.git $ git push origin master 这样,其他人的克隆和推送也一样变得很简单: $ git clone git@gitserver:/opt/git/project.git $ vim README $ git commit -am 'fix for the README file' $ git push origin master 用这个方法可以很快捷地为少数几个开发者架设一个可读写的 Git 服务。 作为一个额外的防范措施,你可以用 Git 自带的 git-shell 工具限制 git 用户的活动范围。只要把它设为 git 用户登入的 shell,那么该用户就无法使用普通的 bash 或者 csh 什么的 shell 程序。编辑/etc/passwd 文件: $ sudo vim /etc/passwd 在文件末尾,你应该能找到类似这样的行: git:x:1000:1000::/home/git:/bin/sh 把 bin/sh 改为 /usr/bin/git-shell (或者用 which git-shell 查看它的实际安装路径)。该行修改后的样子如下: git:x:1000:1000::/home/git:/usr/bin/git-shell 现在 git 用户只能用 SSH 连接来推送和获取 Git 仓库,而不能直接使用主机 shell。尝试普通 SSH 登录的话,会看到下面这样的拒绝信息: $ ssh git@gitserver fatal: What do you think I am? A shell? Connection to gitserver closed. 这里提供的方法,组内所有成员对project都有读写权限,也就是说每个分支都可以push代码,如果需要更加细致的权限控制,请使用Gitosis或者Gitolite。 2. 搭建Gitweb 安装gitweb之后就可以通过中国站访问我们的项目了。就像中国git.kernel.org一样显示了 首先需要安装Gitweb,如果没有安装apache,那么直接安装Gitweb,也会将apache2安装的。 $ sudo apt-get install gitweb apache2 安装完成之后,我们只需要修改一下配置文件,将/etc/gitweb.conf文件中的$projectroot修改为放工程文件的目录。 $ vim /etc/gitweb.conf # path to git projects (.git) $projectroot = "/opt/git"; 至此gitweb就可以使用了,现在可以通过中国[git_server_IP]/gitweb访问了。 3. Push之后发送邮件通知 当组内成员push代码到服务器上之后,会自动发送邮件通知组内所有人员,该次push的具体内容是什么。具体配置方法: 一般在安装Git的时候发送邮件的脚本/usr/share/git-core/contrib/hooks/post-receive-email已经存在了,首先要修改所有者和执行权限,并且安装sendmail。 $ sudo chown git:git post-receive-email $ sudo chmod 755 post-receive-email $ sudo apt-get install sendmail 然后到切换到工程目录下的hooks中,添加 post-receive软链接指向 /usr/share/git-core/contrib/hooks/ post-receive-email。 $ cd /opt/git/project.git/hooks $ ln -s /usr/share/git-core/contrib/hooks/post-receive-email post-receive 最后修改工程目录中的config文件即可。mailinglist是邮件列表, envelopesender是发件人的邮箱, $ vim /opt/git/project.git/config [core] repositoryformatversion = 0 filemode = true bare = true [hooks] mailinglist = "example@gmail中国, example2@gmail中国" # 收件人列表 envelopesender = project.git@example中国 # 送件人地址 emailprefix = "[Project commit] " # 邮件标题前缀 showrev = "git show -C %s; echo" # 不只显示有变化的文件,同时也显示改变的内容 为了使邮件显示的更清楚,还要修改一下工程目录当中的description文件,在description文件中,默认第一行是项目名称,所以要在第一行填入该项目的名称,这个在邮件中会有显示。 $ vim /opt/git/project.git/description Project_

⑤ gitlab怎么克隆最新版本

生成密钥对,点击用户头像,选择"Settings",将生成的公钥信息贴在jason用户的"SSHKeys"里面,公钥添加成功,查看项目的详细信息,选择基于SSH协议克隆的URL,在第1步中的服务器上执行克隆操作。
安装git命令,点击拷贝HTTP的URL,使用git命令clone远程代码到本地。
GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。

⑥ 有没有人知道怎么在windows上使用git 或者在linux商使用git

1.查看Linux系统服务器系统版本
ifconfig

2在服务器上安装git及做些操作

- 执行命令
`
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
`
- 同时下载git-1.8.2.2.tar.gz文件,然后将其`mv` 到`/usr/local/src`目录。[git-1.8.2.2.tar.gz安装包下载地址][1]

```
cd /usr/local/src
sudo tar -zvxf git-1.8.2.2.tar.gz
cd git-1.8.2.2

sudo make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install

```

- 增加软连接
```
sudo ln -s /usr/local/git/bin/* /usr/bin/

git --version #如果能显示版本号,即表示成功`

```

3.在服务器安装gitosis
```
sudo yum install python python-setuptools

cd /usr/local/src

git clone git://github.com/res0nat0r/gitosis.git

cd gitosis

python setup.py install

#显示Finished processing dependencies for gitosis==0.2即表示成功

```

4.在开发机上,生产密钥并上传到服务器上
```
ssh-keygen -t rsa #一路回车,不需要设置密码

#上传公钥到服务器(默认SSH端口22)
scp ~/.ssh/id_rsa.pub [email protected]:/tmp
```

或编辑`/etc/hosts`文件,在`/etc/hosts`文件里添加如下文本:
```
# local git server
192.168.100.202 zgit
```
然后再上传自己的公钥到服务器
```
scp ~/.ssh/id_rsa.pub tailin@zgit:/tmp/

# 登录到git服务器
ls /tmp/id_rsa.pub #显示已经上传的密钥

```

5.服务器上生成git用户,使用git用户并初始化`gitosis`

```
# 创建git版本管理用户 git
sudo useradd -c 'git version manage' -m -d /home/git -s bin/bash git

# 更改git用户的密码
sudo passwd git

# su 到git用户
su - git
gitosis-init < /tmp/id_rsa.pub

#显示以下信息即表示成功
#Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
#Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/

#删除密钥
rm -rf /tmp/id_rsa.pub

```

6.在个人开发机上导出项目管理
```
mkdir -p /repo
cd /repo
git clone git@zgit:gitosis-admin.git

```

7.在个人开发机增加及设置管理项目
```
cd /repo/gitosis-admin

# 查看git服务器已经上传密钥
ls keydir

cat keydir/[email protected]

#[email protected]为已经上传的开发机生成的公密

#显示密钥 最后的字符串为 密钥用户名 这里为 ltl@jackliu-ThinkPad
vim gitosis.conf

#在文件尾增加以下内容

[group test-git] # 具有写权限的组名称
writable = test-git # 该组可写的项目名称
members = ltl@jackliu-ThinkPad [email protected] #该组的成员(密钥用户名) 多个用户协同开发时,以空格分隔

# 如果要增加只读的组 参考如下
# [group test-git-readnoly] # 具有都权限的组名称
# readonly = test-git # 该组只读的项目名称
# members = ltl@jackliu-ThinkPad # 该组的成员

#提交修改
git add .
git commit -a -m "add test-git repo"
git push

```

8.在个人开发机上初始,增加及使用项目test-git

```
cd ~/repo

mkdir test-git

cd test-git

git init

touch readme

git add .

git commit -a -m "init test-git"

git remote add origin git@zgit:test-git.git

git push origin master

```

9.增加协同开发者的公钥key到git服务器

- 执行`cd repo/gitosis-admin/keydir`切换目录

- 把协同开发者的id_rsa.pub 文件里的数据 拷贝到 对应的开发者的`密钥用户名.pub`文件。如把密钥用户名 [email protected] 的 id_rsa.pub 文件中文本 粘贴到 [email protected] 文件里,并保存

- 然后将添加数据后的目录更新到git服务器

```

⑦ 怎么将更新后的代码上传到git

一、从git仓库打开 git bash 命令输入框。查看本地分支文件信息,确保更新时不产生冲突


查看本地与远程服务端的不同:

#获取远端库最新信息$gitfetchorigin

$ git diff master origin/master

第一个master是本地分支名称,第二个master是远程服务分支名称

⑧ 如何从远程git服务器上拉取一个新建的git项目

创建本地仓库并同步到远程
git是非常强大的版本管理工具。接下来的时间里,我就和大家絮叨絮叨git的入门:如何在本地创建一个git仓库,并把自己的本地代码同步到远程。此教程是在mac上操作的,如果您的系统是Linux,那么操作方法相同;如果您的系统是windows,那么,只需要把git的bash窗口调出来,以后的过程也都与Linux相同。
一、首先,您需要安装git,此步就忽略了,自行安装即可。

二、假设你目前还没有创建一个工作目录,那么,先创建一个目录吧,就叫StudyGit。

三、现在的StudyGit目录还只是一个本地目录,和git没有任何关联,那么,我们怎么样才能把这个目录和git关联起来呢?只需要进入StudyGit目录,运行如下命令:

yanyaozhen@macbookpro:~/Coding/Practice/StudyGit$gitinit
/Users/yanyaozhen/Coding/Practice/StudyGit/.git/

提示已经说明我们初始化了一个空的本地git仓库。如果你查看StudyGit下的所有文件时,会发现一个.git 的隐藏文件,这个文件非常重要,版本的控制就靠它了。

四、接下来我们来看一个基本可以说是用的最频繁的一个命令:

yanyaozhen@macbookpro:~/Coding/Practice/StudyGit$gitstatus

五、现在让我们来创建一个文件吧。我们创建一个叫“a.txt”的文本文件,并且内容如下

anyaozhen@macbookpro:~/Coding/Practice/StudyGit$cata.txt


⑨ git拉取远程代码到本地

git拉取代码到本地的方法是:

打开git命令窗口,输入命令【git clone github仓库地址】,然后回车即可拉取代码到本地仓库。

在实际项目开发过程中,往往是已经存在远程项目了,我们定义的需求是只需要简单的操作git,能够上传和下拉最新代码。

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper。

Git的功能特性:

从一般开发者的角度来看,git有以下功能:

1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。

2、在自己的机器上根据不同的开发目的,创建分支,修改代码。

3、在单机上自己创建的分支上提交代码。

4、在单机上合并分支。

5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

6、生成补丁(patch),把补丁发送给主开发者。

7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

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

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

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

⑩ 自己vps搭的git push之后必须在服务器上执行git reset --hard 代码才成更新 想弄成提交之后立即更新 求解

GIT跟SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。
所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。
分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。所以,经常会发生有些分支被遗漏的情况。
处理GIT的分支却是相当的简单和有趣。你可以从同一个工作目录下快速的在几个分支间切换

热点内容
如何通过网吧电脑进入网吧服务器 发布:2025-01-10 22:22:30 浏览:704
数据库缓存是什么 发布:2025-01-10 22:21:05 浏览:384
dns配置出现错误该怎么办 发布:2025-01-10 22:13:00 浏览:436
云顶算法 发布:2025-01-10 22:10:07 浏览:988
收件服务器有什么作用 发布:2025-01-10 21:50:01 浏览:388
安卓70缓存 发布:2025-01-10 21:49:03 浏览:682
图像检索算法 发布:2025-01-10 21:43:58 浏览:556
plsqlforupdate 发布:2025-01-10 21:43:50 浏览:915
如何设置健康码快捷方式vivo安卓 发布:2025-01-10 21:39:52 浏览:502
安卓不兼容怎么解决 发布:2025-01-10 21:37:02 浏览:31