什么是git
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
基本操作
项目克隆
# 将文件克隆到本地
git clone [url]
查看项目文件状态
# 查看多少文件被跟踪,多少文件没有被跟踪
# 也就是缓存区
git status
初始化项目
git init
添加文件到暂存区
# 当前目录下所有文件都添加到暂存区
git add .
# 当前目录下xlsx后缀的文件添加到暂存区
git add *.xlsx
添加项目文件描述信息
git commit -m "描述信息"
查看历史提交记录
git log
上传远程代码并合并
git push
分支管理
使用分支将工作切分开来,从而让我们能够在不同开发环境中做事,并来回切换。切换分支前要commit提交
列出分支基本命令
# 列出分支
git branch
# 新建分支
git branch [分支名字]
# 删除分支
git branch -d [分支名字]
切换分支命令
git checkout [分支名字]
合并分支命令
git merge
合并冲突
合并并不仅仅是简单的文件添加、移除的操作,Git 也会合并修改
# 打开文件,看到冲突内容
cat runoob.php
<?php
<<<<<<< HEAD
echo 1;
=======
echo 'runoob';
>>>>>>> change_site
?>
合并冲突就出现了,接下来我们需要手动去修改它
vim runoob.php
cat runoob.php
<?php
echo 1;
echo 'runoob';
?>
在 Git 中,我们可以用git add告诉 Git 文件冲突已经解决
$ git status -s
UU runoob.php
$ git add runoob.php
$ git status -s
M runoob.php
$ git commit
[master 88afe0e] Merge branch 'change_site'
回滚到某个历史版本
# 查看提交的日志信息
git log
# 回滚到某个commit_id的历史版本
# 这里id是经过sha加密的
git reset --hard commit_id
错误总结
# error: cannot pull with rebase: Your index contains uncommitted changes.
# error: please commit or stash them.
# 解决:
git stash
# 使服务器和本机版本一致
git pull --rebase origin master
删除文件夹
git rm -r --cached 爬取斗鱼直播间信息
git commit -m '删除了文件夹'
git push
重命名文件夹
文件夹名称: game
想要修改名称为: gamesdk
git mv game gamesdk
git commit -m 'rename dir game to gamesdk'
git push