这是我参与「第三届青训营 -后端场」笔记创作活动的第一篇笔记
一、理解
(svn:集中式管理,一个服务器对多个客户端 缺点:服务器单点错误)
git: 每个服务器或者个人PC都可以作为标准版本存在,多点对多点
工作区:电脑里能看到的目录
暂存区:一般存放在 .git 目录下的 index 文件(.git/index)中
版本库:工作区隐藏目录 .git中
二、常用命令
git init
git add
git commit -m (没加-m后缀会进入vim编辑,输入:wq按回车键返回)
git status 查看工作区状态
git diff 查看修改内容
git log 查看提交日志 (按q退出)
git reflog 查看命令历史,历史版本号
git reset --hard commit_id 整个区回退指定版本
git checkout -- file 文件回退,用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”
远程仓库相关:
git remote -v 查看远程仓库信息
显示了可以抓取和推送的
origin的地址。如果没有推送权限,就看不到push的地址 git remote rm origin 删除关联的远程仓库
git remote add origin 关联一个远程库,关联一个远程库时必须给远程库指定一个名字,origin是默认习惯命名
git push -u origin master 关联后第一次推送master分支的所有内容。由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来
git push origin master 推送最新修改
git clone 远程仓库已存在时克隆下来
git clone -b (分支名称)(分支远程地址) 克隆指定分支
git branch 查看当前分支,加上分支名则切换
git branch -a 查看项目所有分支(包含远程)
git checkout / git switch 切换分支
git checkout -b / git switch -c 创建并切换分支
git merge 合并某分支到当前分支
解决冲突就是把合并失败的文件编辑完再提交
git branch -d 删除分支