Git的正确使用姿势与最佳实践|青训营笔记

89 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第一篇笔记

一、理解

(svn:集中式管理,一个服务器对多个客户端 缺点:服务器单点错误)

git: 每个服务器或者个人PC都可以作为标准版本存在,多点对多点

image.png

工作区:电脑里能看到的目录

暂存区:一般存放在 .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 删除分支