Git--基本概念
文章目录
- 前言
- Git是什么?
- 安装Git
- Git常用指令
- 新建代码库
- 配置Git
- 增加和删除文件
- 代码提交
- 远程同步和提交
- 分支管理
- 查看提交记录
前言
Git是目前最流行的版本控制工具,Linux,Android都是使用git进行管理。Github就更不用说了,几乎所有做软件开发的都知道。所以用好Git很重要。
Git是什么?
Git是目前世界上最先进的分布式版本控制系统。
简单理解版本控制就是:比如你修改了代码,然后提交修改,系统就帮你做个记录,某时某刻谁谁做了什么修改,和之前的代码差异在哪里?(这只是泛泛的说法,版本控制还有很多强大的功能)
然后解释几个名词:
- Workspace:工作区
- Index / Stage:暂存区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库
- 工作区:就是我们天天修改代码的位置,在没进行add操作时我们一直在工作区
- 暂存区:进行add操作后,我们做的修改就会到暂存区。暂存的意思就是暂时存放,担心你反悔图片。
- 仓库区:这是本地的仓库,当我们进行commit操作之后,修改的数据就会到仓库区。这个时候就会有一条提交记录(或叫修改记录)。
- 远程仓库: 就是Git服务器上面的仓库,为什么要有个远程仓库呢?首先当然就是备份数据啊,第二就是为了多人协作。
安装Git
Windows
到https://gitforwindows.org/下载安装即可
Ubuntu
$sudo apt-get install git
Git常用指令
新建代码库
# 在当前目录新建一个Git代码库
$ git init
# 新建一个目录,将其初始化为Git代码库
$ git init [project-name]
# 下载一个项目和它的整个代码历史
$ git clone [url]
配置Git
# 显示当前的Git配置
$ git config --list
# 设置提交代码时的用户信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
增加和删除文件
# 添加指定文件到暂存区
$ git add [file1] [file2] ...
# 添加指定目录到暂存区,包括子目录
$ git add [dir]
# 添加当前目录的所有文件到暂存区
$ git add .
# 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...
代码提交
# 提交暂存区到仓库区
$ git commit -m [message]
# 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] ... -m [message]
# 提交工作区自上次commit之后的变化,直接到仓库区
$ git commit -a
# 提交时显示所有diff信息
$ git commit -v
远程同步和提交
# 下载远程仓库的所有变动
$ git fetch [remote]
# 显示所有远程仓库
$ git remote -v
# 显示某个远程仓库的信息
$ git remote show [remote]
# 增加一个新的远程仓库,并命名
$ git remote add [shortname] [url]
# 取回远程仓库的变化,并与本地分支合并
$ git pull [remote] [branch]
# 上传本地指定分支到远程仓库
$ git push [remote] [branch]
# 强行推送当前分支到远程仓库,即使有冲突
$ git push [remote] --force
# 推送所有分支到远程仓库
$ git push [remote] --all
分支管理
#查看所有分支
$git branch -a
#创建分支
$git branch <branch_name>
#切换到指定分支
$git checkout <branch_name>
#创建并切换到指定分支
$git checkout -b <branch_name>
#强制删除分支
$git branch -D <branch_name>
#将指定分支合并到当前分支
$git merge <branch_name>
查看提交记录
#查看所有提交记录
$git log
#查看某次提交的修改内容
$git show <commitID>
上面就是Git的一些基本命令,学习了上面的命令之后你就基本可以使用Git了,如果要深入可以到 https://git-scm.com/ 上去学习,上面有文档,非常详细的说明Git的所有使用方法,包括版本回退,冲突解决等。
参考文档:https://git-scm.com/docs
还没有评论,来说两句吧...