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[ ]
该命令会在本地主机生成一个目录,与远程主机的版本库同名。如果要指定不同的目录名,可以将目录名作为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库拉取代码,创建分支,更新之后提交,合并分支整个工作流程介绍。