一、Git简介
Git 是目前世界上最先进的分布式版本控制系统,实现了源代码的管理,可以很方便的进行多人协同开发和版本控制
Git源代码管理特点
- Git是分布式管理.服务器和客户端都有版本控制能力,都能进行代码的提交、合并
- Git会在根目录下创建一个.git隐藏文件夹,作为本地代码仓库
- Git服务器 --> 本地仓库 --> 客户端 --> 本地仓库 --> Git服务器
二、基本操作命令
# 创建本地仓库
git init
# 查看文件状态
git status
# 添加文件到暂存区
git add .
git add [python_file]
# 将暂存区文件提交到仓库
git commit -m '版本描述'
# 查看提交记录
git log
git reflog # 查看所有分支的所有操作
# 查看当前设置的配置
git config -l
git config [command]
# 回退版本
git reset --hard HEAD^ # 返回上一个版本
git reset --hard HEAD~1 # 返回上一个版本
git reset --hard HEAD^^(HEAD~2) # 返回上两个版本,以此类推
git reset --hard 版本号(通过git reflog查看)
# 撤销工作区修改的代码
git checkout 文件名
# 撤销暂存区代码
git reset HEAD 文件名 # 撤回到工作区
git checkout 文件名 # 撤销修改
# 对比版本
git diff HEAD -- 文件名 # 对比文件在工作区与仓库的区别, "--"前后均有空格
git diff HEAD HEAD^ --文件名 # 对比版本间(当前版本与上一版本)文件的区别
git diff branch1 branch2 # 对比分支的差异
# 删除文件(三条语句配合完成)
rm 文件名 # 删除文件动作提交到暂存区
git rm 文件名 # 暂存区确认删除文件
git commit -m '删除的描述' # 将删除记录到本地仓库
# 撤销删除
rm 文件名
git checkout -- 文件名
# 撤销本次commit操作,代码回到工作区
git reset --soft HEAD^
三、Git操作远程仓库
# 克隆远程仓库
git clone 远程仓库地址
# 配置本地仓库身份信息
git config user.name 'name'
git config user.email 'email'
# 全局身份,全局git配置文件路径:~/.gitconfig
git config --global user.name 'name'
git config --global user.email 'email'
# 同步服务器代码
git pull
# 将项目推到远程仓库
git push
# 设置记住密码(默认15分钟)
git config --global credential.helper cache
# 如果想自己设置时间,可以这样做(1小时后失效)
git config credential.helper 'cache --timeout=3600'
# 长期存储密码
git config --global credential.helper store
四、标签
# 本地标签
git tag -a 标签名 -m '标签描述'
# 直接创建标签
git tag 标签名
# 将标签推送到远程仓库
git push origin 标签名
# 删除本地标签
git tag -d 标签名
# 删除远程仓库标签
git push origin --delete tag 标签名
五、分支
# 查看当前分支
git branch
# 查看远程分支列表
git branch -r
# 创建分支
git branch dev
# 切换到分支
git checkout dev
# 创建并切换到分支
git checkout -b dev
# 删除分支
git branch -d dev
# 强制删除分支
git branch -D dev
# 删除远程分支
git push origin :dev
# 推送到远程分支
git push origin master
# 拉取分支代码
git pull origin master # 拉取分支并合并
git fetch origin master # 拉取分支
# 将分支推送到远程仓库
git push -u origin dev
# 合并分支
git checkout master
git merge dev
# 查看冲突
git diff # 根据提示修改冲突后提交
六、暂存修改的代码
# 暂存代码
git stash
# 查看暂存的代码
git stash list
# 还原暂存代码
git stash apply
# 删除暂存代码
git stash drop
# 取出并删除暂存的代码
git stash pop
# 删除全部
git stash clear