博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git 拉取服务器的代码更新后提交
阅读量:5891 次
发布时间:2019-06-19

本文共 2975 字,大约阅读时间需要 9 分钟。

  hot3.png

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

本文档使用了自己搭建的Git库,使用软件为GitLab。已经在GitLab中创建了一个项目,项目名:test

本机使用的工具是Git官网的命令工具(Git Bash)。

本文档主要描述了如何在服务器中拉取项目代码,添加、修改、删除之后提交,并同步到主线中。

详细步骤如下:

一、配置Git

Git的设置文件为 .gitconfig ,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。

设置用户名称和邮箱地址,--global 表示全局设置,本机上所有的Git仓库通用该配置

$ git config --global user.name "[name]"$ git config --global user.email "[email address]"

112229_Twvm_2273688.png

查看配置文件

# 查看[仓库级|全局级|系统级]的 config$ git config [--local|--global|--system] -l# 查看当前生效的配置$ git config -l

112721_6HKc_2273688.png

二、拉取代码

#git clone命令将存储库克隆到新目录中。#repository:版本库的网址#directory:本地目录名$ git clone 
[
]

该命令会在本地主机生成一个目录,与远程主机的版本库同名。如果要指定不同的目录名,可以将目录名作为git clone命令的第二个参数。

git clone支持多种协议,除了HTTP(s)以外,还支持SSH、Git、本地文件协议等

115159_sjv2_2273688.png

如果你的git库为空,弹出以上警告,可以参照下图进入拉取代码的目录,查看与远程版本库的代码。

115323_ZNag_2273688.png

关于远程仓库还有以下命令:

# 显示所有远程仓库(显示仓库地址)$ git remote -v# 显示指定远程仓库的信息(仓库地址、HEAD指向分支、所有分支等)$ git remote show [remote-name]# 增加一个新的远程仓库,并命名$ git remote add [remote-name] [url]# 删除指定的远程仓库$ git remote remove [remote-name]

默认远程仓库名:origin

默认分支:master

三、创建分支

    创建分支相关命令

# 新建分支,但仍停留在当前分支$ git branch [branch-name]# 新建分支,并切换到该分支$ git checkout -b [branch-name]

    151758_Z5Qz_2273688.png

分支相关的其它相关命令

# 列出所有的分支,"*" 标识的是当前分支$ git branch # 列出所有远程分支$ git branch -r# 列出所有本地分支和远程分支$ git branch -a# 新建分支,但仍停留在当前分支$ git branch [branch-name]# 新建分支,并切换到该分支$ git checkout -b [branch-name]# 切换到指定分支,并更新工作区$ git checkout [branch-name]# 合并指定分支到当前分支$ git merge [branch-name]# 删除分支$ git branch -d [branch-name]

四、添加代码提交

    切换到test2分支(上面创建了),在里面添加一个文件test.txt文件

    先通过git add命令把文件提交到暂存区,再通过git commit命令把文件提交test2分支仓库

    153602_Ulmb_2273688.png

    添加、提交其它相关命令

    添加

# 添加指定文件到暂存区,可指定多个文件$ git add [file1] [dir/file2] ...# 添加指定文件到暂存区,可指定通配符;如 *.txt,匹配所有txt文件$ git add [file-pattern]# 添加指定目录到暂存区,包括子目录$ git add [dir]# 添加当前目录的所有文件到暂存区$ git add .

    提交

# 提交暂存区所有文件到仓库区,一定要记得添加提交信息(message)$ git commit -m [message]# 提交暂存区的指定文件到仓库区$ git commit [file1] [file2] ... -m [message]# 提交工作区自上次commit之后的变化,直接到仓库区 (省略 git add 那一步)$ git commit -a # 使用一次新的commit,替代上一次提交# 如果代码没有任何新变化,则用来改写上一次commit的提交信息$ git commit --amend -m [message]# 重做上一次commit,并包括指定文件的新变化$ git commit --amend [file1] [file2] ...

    删除文件

# 删除工作区文件(已被追踪的文件),并将这次删除放入暂存区$ git rm [file1] [file2] ...# 停止追踪指定文件(在暂存区中删除),但该文件会保留在工作区$ git rm --cached [file]# 文件改名(工作区),并将这个改名放入暂存区$ git mv [file-oldname] [file-newname]

五、合并代码

    通过git merge 命令把test2分支,合并到test1,必须先切换到test1分支,再由test1全并到master分支。

    154307_Ybkg_2273688.png

    154423_NvJy_2273688.png

六、远程仓库代码合并

    第五步描述了本地分支合并,但如何把本地代码合并到远程仓库呢,通过git push命令。

# 上传本地指定分支到指定远程仓库 默认的remote-name为origin$ git push [remote-name] [branch-name]

   115919_dmCb_2273688.png

    基本它相关远程库操作命令

# 抓取指定远程仓库的所有变动,不做合并,不影响工作区$ git fetch [remote]# 显示所有远程仓库(显示仓库地址)$ git remote -v# 显示指定远程仓库的信息(仓库地址、HEAD指向分支、所有分支等)$ git remote show [remote-name]# 增加一个新的远程仓库,并命名$ git remote add [remote-name] [url]# 删除指定的远程仓库$ git remote remove [remote-name]# 取回指定远程仓库的变化,并与本地分支合并$ git pull [remote-name] [branch-name]# 上传本地指定分支到指定远程仓库$ git push [remote-name] [branch-name]# 推送所有分支到指定远程仓库$ git push [remote-name] --all# 强行推送当前分支到指定远程仓库,即使有冲突$ git push [remote-name] --force

到此就完成了,从Git库拉取代码,创建分支,更新之后提交,合并分支整个工作流程介绍。

转载于:https://my.oschina.net/sdlvzg/blog/1588257

你可能感兴趣的文章
针对ireport多模版合并导出只能导出第一个模版数据的解决方案
查看>>
zabbix 自动发现 shell
查看>>
Juery 基础
查看>>
python中类的魔术方法
查看>>
httpclent调用webservice
查看>>
Leetcode 389. Find the Difference JAVA语言
查看>>
http请求错误码
查看>>
Linux中的configure,make,make install到底在做些什么
查看>>
umount 时出现的 "Device is busy"问题
查看>>
Gulp+browser-sync打造前端开发自动刷新
查看>>
ASA-vlan-interface
查看>>
深度遍历搜索
查看>>
Weblogic8.X安装及连接池配置指南
查看>>
一看就懂的设计模式--设计模式分类
查看>>
Linux安装Maven
查看>>
document.createElement()的用法
查看>>
linux压缩命令(五)之tar总结
查看>>
MySQL 数据库怎样把一个表的数据插入到另一个表
查看>>
HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等
查看>>
如何在Windows Server 2008R2上面批量添加AD用户及自定义OU批量添加用户
查看>>