Git 版本控制工具 (最全命令行总结)

一 :Git 简介

1、Git 是什么

Git 是分布式版本控制系统,用于开发时版本控制

2、Git 与 SVN 的区别

SVN 是集中式版本控制,有一个中央服务器的概念,代码放置于中央服务器。程序员开发时需要将代码拉取到个人电脑,开发结束推送到中央服务器。
缺点是,必须联网操作,对开发环境带宽要求高。
Git 是分布式版本控制系统,程序员的电脑是一个完整的版本库。多人开发时可以互相推送自己的改动,完成整个系统的研发。
优点是,无需联网、代码安全性高、分支管理功能完善

二 : Git 的安装

1、windom 安装Git

安装简单,请查询相关资料

查看git 系统配置

# 查看所有配置
git config -l
# 查看系统配置
git config --system --list
#查看当前用户(global)配置
git config --global  --list

Git配置信息.png

手动配置如下

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

配置信息就是对应你电脑的配置文件
1)、Git\etc\gitconfig :Git 安装目录下的 gitconfig --system 系统级
2)、C:\Users\Administrator\ .gitconfig 只适用于当前登录用户的配置 --global 全局

2、Linux 安装Git

# 安装
yum -y install git
# 查看Git 版本
git --version

三 :Git 基本理论

Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:


来源于狂神说.png

Workspace:工作区,就是你平时存放项目代码的地方

Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

工作流程
拉取代码 → 本地修改 → 添加到本地缓存区 → 拉取远程代码 → 推送本地代码到远程分支

四 :Git 的简单使用

1、搭建Git 项目

# 自主生产
git init
# 克隆Git xiangmu 
git clone 【url】

2、Git 操作

基本操作

# 查看git 状态
git status
# 添加文件加入到暂存区
git add Hello.class
# 暂存区文件提交到当前本地分支
git commit -m "描述提交内容"
# 拉取远程仓库代码
git pull
# 提交本地仓库到远程仓库
git push origin master
# 查看git 操作历史 - 获取 commit_id
git log / git reflog / git log --graph
# 回退到之前版本
git reset --hard commit_id
# 撤销修改 (文件回到最近一次git commit或git add时的状态)
git checkout -- Hello.class
# 删除文件
git rm Hello.class
# 本地代码关联远程仓库 (也适用于当前代码远程仓库修改后更新最新版url)
git remote add origin git@server-name:path/repo-name.git
# 第一次推送master分支的所有内容
git push -u origin master

分支管理

# 查看所有分支
git branch ( * 号后面的分支为当前分支)
git branch -r  (远程分支)
# 新建分支
git branch dev
# 切换分支
git checkout dev  (git checkout -b dev 组合起来)
git switch dev  (git switch -c dev 组合起来)
# 合并分支 (将dev 合并到master)
git checkout master 
git merge dev
# 删除分支
git branch -d dev
git branch -D dev (强行删除)
# 冲突分类
<<<<<<< HEAD
这部分代码是当前分支代码
=======
这部分代码是合并或拉去的有冲突代码
>>>>>>> dev
# 将当前工作区代码存储  - 可以解决当前工作区有新增代码无法切换分支的窘状
 git stash (恢复到当前分支最新代码)
# 查看当前存储代码
git stash list
# 恢复当前存储
git stash apply (恢复后内容不删除)
# 删除当前存储
git stash drop
# 恢复并删除
git stash pop
# 将其他分支的某一次提交合并到当前分支
git cherry-pick commitid
# 查看远程库信息
git remote -v
# 本地分支推送到远程分支
git push origin master
# 本地创建和远程分支对应的分支
git checkout -b branch-name origin/branch-name
# 建立本地分支和远程分支的关联
git branch --set-upstream branch-name origin/branch-name
# 变基
git rebase
# 创建标签
 git tag v1.0
# 查看标签
git tag
# 对之前的某一次提交打标签
git log --pretty=oneline --abbrev-commit
git tag v0.9 f52c633 
git tag -a  -m "blablabla..."
# 查看标签信息
git show v0.9
# 推送本地标签到远程
git push origin 
# 推送全部未推送过的本地标签
git push origin --tags
# 删除一个本地标签
git tag -d  
# 删除一个远程标签
git push origin :refs/tags/
# 本地代码库与远程代码库关联 (多用于远程仓库url 修改)
git remote add origin [email protected]:wangch/learngit.git
# git 显示颜色
 git config --global color.ui true
# 别名
git config --global alias.st status

五 :Git 名词解释

LICENSE : git 许可证
Untracked : 未跟踪

六 :参考博客

https://www.liaoxuefeng.com/wiki/896043488029600
https://blog.csdn.net/qq_33369905/article/details/106647320

你可能感兴趣的:(Git 版本控制工具 (最全命令行总结))