隐藏

Git 拉取服务器的代码更新后提交

发布:2022/4/21 14:46:45作者:管理员 来源:本站 浏览次数:1220



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]"


查看配置文件


# 查看[仓库级|全局级|系统级]的 config

$ git config [--local|--global|--system] -l


# 查看当前生效的配置

$ git config -l


二、拉取代码


#git clone命令将存储库克隆到新目录中。

#repository:版本库的网址

#directory:本地目录名

$ git clone <repository> [<directory>]


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


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


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


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


# 显示所有远程仓库(显示仓库地址)

$ 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]


   


分支相关的其它相关命令


# 列出所有的分支,"*" 标识的是当前分支

$ 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分支仓库


   


   添加、提交其它相关命令


   添加


# 添加指定文件到暂存区,可指定多个文件

$ 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分支。


   


   

六、远程仓库代码合并


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


# 上传本地指定分支到指定远程仓库 默认的remote-name为origin

$ git push [remote-name] [branch-name]


 


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


# 抓取指定远程仓库的所有变动,不做合并,不影响工作区

$ 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库拉取代码,创建分支,更新之后提交,合并分支整个工作流程介绍。