代码管理工具Git基础
本文最后更新于 2024-10-16,文章内容距离上一次更新已经过去了很久啦,可能已经过时了,请谨慎参考喵。
title: 代码管理工具Git基础
tags:
- Linux
- Git
categories:
- 工具
top_img: false
cover: '/upload/cdn0files/20200721092022.jpg'
abbrlink: fde3401b
date: 2019-12-31 10:30:40
2020.9.1 更新
推荐一个学习Git命令的非常棒的在线工具:https://learngitbranching.js.org/
前言
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git是Linus Torvalds为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git的功能特性,从一般开发者的角度来看,git有以下功能:
- 从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
- 在自己的机器上根据不同的开发目的,创建分支,修改代码。
- 在单机上自己创建的分支上提交代码。
- 在单机上合并分支。
- 把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
- 生成补丁(patch),把补丁发送给主开发者。
- 看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
- 一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
安装
$ sudo apt-get install git
新建和初始化本地库
$ git init
从服务器上clone代码
$ git clone ADDRESS
ADDRESS就是项目地址
查看新文件
$ git status
添加更改
$ git add filename
$ git add . //用通配符提交所有更改
配置用户名和邮箱
$ git config --global user.email EMAIL
$ git config --global user.name NAME
“EMAIL” 即你的 email 地址,“NAME” 则是你的用户名
提交更改说明
$ git commit -m “Descriptive Message”
“Descriptive Message” 即为你的提交的描述性信息
创建新分支
$ git checkout -b BRANCH
$ git branch //查看是否创建了新分支
“BRANCH” 即为你新分支的名字
远程推送
$ git remote add origin URL //“URL” 即为远程仓库地址
$ git push -u origin +master //+号是在本地没有整合下强制提交
$ git remote rm origin //删除远程origin
建立远程和本地仓库的链接
$ git push --set-upstream origin master
将本地分支追踪到上游相应的分支
$ git branch --set-upstream-to=origin/<分支> master
拉取更新
$ git pull origin master
$ git pull
撤销推送
已经执行git add
和git commit
git reset --hard origin/master
注意:远程仓库会直接覆盖本地仓库
基本语法
$ git [--version] [--help] [-C <path>] [-c name=value]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
基本命令简述
开始一个工作区
参见:git help tutorial
clone 克隆一个仓库到一个新目录
init 创建一个空的 Git 仓库或重新初始化一个已存在的仓库
在当前变更上工作
参见:git help everyday
add 添加文件内容至索引
mv 移动或重命名一个文件、目录或符号链接
reset 重置当前 HEAD 到指定状态
rm 从工作区和索引中删除文件
检查历史和状态
参见:git help revisions
bisect 通过二分查找定位引入 bug 的提交
grep 输出和模式匹配的行
log 显示提交日志
show 显示各种类型的对象
status 显示工作区状态
扩展、标记和调校您的历史记录
branch 列出、创建或删除分支
checkout 切换分支或恢复工作区文件git
commit 记录变更到仓库
diff 显示提交之间、提交和工作区之间等的差异
merge 合并两个或更多开发历史
rebase 在另一个分支上重新应用提交
tag 创建、列出、删除或校验一个 GPG 签名的标签对象
协同
参见:git help workflows
fetch 从另外一个仓库下载对象和引用
pull 获取并整合另外的仓库或一个本地分支
push 更新远程引用和相关的对象
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 OrdisBlog
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果