1

git 版本控制 常用操作流程

第0步 准备工作

cd ~/Desktop
mkdir demo-1
cd demo-1
touch index.html
code .
code . 表示用VSCode打开当前目录

第1步 git init 会创建.git目录

  • 用VSCode编辑index.html的第一个版本,随便写
  • 用Cmder/iterm2(也可以使用VSCode自带的命令行)
  • 在demo-1目录下初始化git本地仓库,运行:
git init

第2步 查看下 .git目录

ls -a
  • ls 不加参数,就不会显示以“.”开头的目录或文件
  • .git 目录用来容纳你不同版本的代码快照

第3步 告诉git哪些文件的变动不需提交的:git add ./.gitignore

  • 新建.gitignore文件
  • 将不需提交的文件名写入.gitignore,以回车分隔
.gitignore 描述哪些变动是不需要提交的
常见的有:
node_modules
.DS_Store
.idea
.vscode
...

注明.gitignore之后,以后的提交变更只需

git add .

就行了

第4步 告诉git哪些文件的变动要提交的:git add xxx

git add是用来暂存提交的
git add index.html
git add bg.css

可以不用管warning
只要没error就是正常的
VSCode里的状态:A表示已经添加,U表示未添加

  • git add 路径
  • 选择哪些变动是需要提交的;
  • 路径可以是 绝对/相对 路径

绝对路径:

  • [x] /c/Users/Fang/Desktop
  • [x] /c/Users/Fang/Music
  • [x] ~/Desktop
  • [x] ~/Music
“/”表示根目录,绝对路径都是以“/” 开头的,“~ ”是 /c/Users/* 的缩写,所以实际上 “~ ”也是以 / 开头的绝对路径

相对路径:

  • [x] .
  • [x] ./xxx
  • [x] ./xxx/
  • [x] xxx
  • [x] xxx/1.txt
“.”表示当前目录,相对路径都是“相对于当前”来说的;“../”表示上一级目录,也是相对路径

第5步 查看当前状态

git status

第6步 提交

git commit -m 字符串
git commit -m "version 0.1"

提交,并说明提交理由

  • 注意空格与关闭英文引号
  • 字符串里有空格,就要用引号包起来;没有,可不加

实际上,git commit就是把当前提交的代码复制一份到.git里

  • 更推荐:git commit -v
git commit -v
  • 在VSCode里编辑COMMIT EDITMSG信息
  • 帮我回顾,改了什么
  • 请把提交理由写得更详细一点
  • v : --verbose啰嗦
  • 在COMMIT EDITMSG里查看本次提交所有的变更
git commit -v --amend

第7步 修改了文件第二版后

再重复4~6步,就ok了

第8步 查看文件版本

git log

第9步 多次提交

git add .
git commit -v

每次重复这两个操作,注意.不要少写,注意空格

第10步 版本回滚/历史版本跳转

git log

得到各历史版本 commit xxxxxx...

git reset --hard ******
  • 是提交号的前4~6位,只要不重复
  • 确保已经把所有代码commit了
  • 最好 git status 一下,看看是否 nothing to commit, working tree clean
  • 因为git reset --hard操作会把所有未提交的变动(代码/文件/目录)直接删除

第11步 查看所有操作的历史版本,git reset没提交的除外

git reflog
  • 这就是git commit的意义
  • 只要git commit 了,代码就不会丢
  • git log能上传到远程仓库,而git reflog只在本地仓库
  • git log 是当前时间线的提交
  • git reflog 是显示所有提交(commit)变动
  • 再用git reset --hard回去就行了,如果有必要的话

总结

git status几个状态

  • a. 忽略(.gitignore)
  • b. 暂存待提交(git add)
  • c. 已提交(git commit)
  • git reset --hard时,除a b c外 其他状态会被清空
  • git文件状态演变
  1. git add 选择要提交的版本
  2. .gitignore文件中描述不提交的内容
  3. git commit -v 用来提交
  4. git log用来查看历史,只有当前提交的过程,不包括回滚的提交
  5. git reset --hard *用来切换版本
  6. git reflog用来查看所有提交历史

·未完待续·


参考文章

相关文章




Joel
14 声望2 粉丝