Git 是目前世界上最先进的分布式版本控制系统(没有之一)
作用:
对代码进行备份
有利于团队协作开发
Git本地仓库结构
-
创建本地仓
git init
-
设置仓库的作者信息
git config user.name zs git config user.email zs@162.com
-
全局设置作者信息
git config --global user.name zs
工作区
对于添加、修改、删除文件的操作,都发生在工作区中
暂存区
暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分
仓库区
仓库区表示个人开发的一个小阶段的完成
仓库区中记录的各版本是可以查看并回退的
但是在暂存区的版本一旦提交就再也没有了
Git基本操作
-
提交工作区变化到暂存区
git add 文件名 git add .
-
提交暂存区变化到仓库区
git commit -m "注释"
-
查看本地仓库的状态
git status
-
查看仓库的当前版本
git log
撤销修改和切换版本
撤销修改
-
根据暂存区还原工作区
git checkout 文件名
-
根据仓库区还原暂存区
git reset HEAD
切换版本
-
HEAD 表示当前版本
-
HEAD^ 表示上一个版本
-
HEAD~100 表示前100个版本
-
切换到上一个版本(仓库区和暂存区一起还原)
git reset HEAD^
-
切换到指定的版本
git reset 版本号前7位
-
查看历史版本
git reflog
删除文件
-
删除工作区和暂存区的文件
git rm login.py
撤销误删
-
如果没有生成新版本
先git reset HEAD还原暂存区, 然后git checkout 文件还原工作区
-
如果已经生成了新版本
先 git reset HEAD^切换回上一个版本, 然后git checkout 文件还原工作区
拓展命令
-
只删除暂存区的文件
git rm 文件名 --cached
-
切换版本时, 还原仓库区和暂存区(默认)
git reset HEAD^ --mixed
-
切换版本时, 切换版本时, 只还原仓库区
git reset HEAD^ --soft
-
切换版本时, 切换版本时, 还原仓库区&暂存区&工作区
git reset HEAD^ --hard
Git远程管理
-
创建远程仓库
-
git远程操作
克隆远程仓库(下载项目代码, 自动携带本地仓库, 并自动关联远程仓库) git clone
将本地仓库版本推送到远程仓库 git push
拉取远程仓库中的版本 git pull -
代码冲突
只要本地缺少远程仓库的某个版本, 将无法直接推送新版本
操作流程: -
如何尽量避免代码冲突
尽量不要多人修改同一个文件
多进行推送和拉取操作
不要擅自修改别人代码