携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第8天juejin.cn/post/712312… Git本身是个软件
1、 每次做修改,都保持修改记录
2、 可以对每一次的修改做注释
3、 集中式和分布式(fit为分布式)
4、 在不同局域网下,也会有一个中央服务器。这个中央服务器是为了能够让同事之间不在同一局域网的情况下也能访问到多人编辑的数据。
SVN是集中式的
git –version 检查是否安装成功。回车之后会输出版本号
需要有本地库——存储了文件里的所有版本,所有的历史操作文件版本都在这里面
暂存区——存到本地库之前,会把所有的文件先存到暂存区。
工作区——一保存文件,会先把文件临时存到暂存区,再从暂存区存到本地库(写代码的地方)
远程仓库创建方式:使用代码托管中心来维护它
局域网环境下:GitLab服务器(公司自己玩)
外网环境下:1、自己搭建远程仓库
2、GitHub(第三方的,人家已经把远程仓库已经搭好了,只需要你注册一个会员就可以了)
3、码云(相当于中文GitHub)
Git命令行操作
一、本地库初始化
1、 创建一个文件夹作为本地库目录
2、 在目录下使用git命令行工具,允许git init命令,初始化本地仓库
注意:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改(默认是隐藏文件,也可以把它打开)
git init 就会创建一个本地库文件夹名为(.git,它是一个隐藏文件)
二、设置签名
作用:区分不同开发人员的身份
1、系统用户级别:登录当前操作系统的用户范围(全局)
语法名字设置:git config –global user.name xinxin_mo(名字自己设置)
邮箱设置:git config –global user.email 1016015635@qq.com(邮箱自己设置,可以不设置真实的邮箱号码)
说明:只要进行操作,上面就会带着自己的名字,别人就会知道是你写的
2、项目级别/仓库级别:仅在当前本地库范围内有效
git config user.name 名字自己设置(以便别人识别是你)
git config user.email 邮箱
master是一个平行分支
No commit提交 yet 没有需要提交的
(use "git add ..." to include in what will be committed)建议你把这个文件放到暂存区
三、基本操作
1、状态查看
git status
查看工作区
2、上传文件到工作区
git add [file nam]写需要上传的文件名/文件夹名
3、将暂存区的内容提交到本地库
git commit -m “注释” index.html
4、查看历史纪录
git log 查看完整的历史记录
git log --pretty=oneline 查看精简的历史记录
git log --oneline 查看最基本的历史记录
四、前进和后退
1、基于索引值操作(就是那个id只要前七位数字)
语法:git reset --hard (七位数id值)例如:git reset –hard a6ace91
2、使用^符号:只能后退
语法:git reset --hard HEAD^
注意:想后退几步就写几个^
3、使用~符号,指定后退步数
语法:git reset --hard~n
解释:退回几步,n就写几。
五、找回被删除的文件
前提:删除前,文件存在时的状态是提交到了本地库。
操作:git reset --hard 指针位置
删除操作已经提交到本地库:指针位置指向历史记录
删除操作尚未提交到本地库:指针位置使用HEAD
撤销修改:
如果没有上传到暂存区也没有上传到本地库,只需要直接在代码里删除,或者ctril+z即可,或者chekout – filename 可以丢弃工作区的修改
撤销暂存区的内容(该文件已经上传到缓存区,还没有上传到本地库)
语法:git reset HEAD 文件名
说明:用了该命令之后,代码不会消失,需要手动把代码删掉
提到暂存区,并且提交到了本地库,直接撤回到上个版本即可
语法:git reset --hard 指针位置(id)
删除
直接删除工作区不需要的问题
git rm 文件名 只会删除工作区里的文件,不删除历史记录
git commit -m “描述” 想在删除历史记录,再加上这各命令