git 笔记

100 阅读2分钟

1 创建版本库

  • mkdir learngit
  • cd learngit
  • pwd // 显示当前目录
  • git init //将这个目录变成 Git 可以管理的仓库
  • ls -ah //可以看到 .git 目录,它默认是隐藏的

2 添加文件到仓库

  • git status // 查看有什么改动
  • git add file.txt / git add --all // 将文件添加到暂存区
  • git commit -m "message" // 将文件提交到 git 仓库

时光穿梭

  • git diff readme.txt // 查看修改的内容
  • git log // 显示最近到最远的提交日志
  • git log --pretty=online // 显示最近到最远的提交日志,简化信息
  • git reset --hard HEAD^ // 几个^代表回退到上几个版本,也可以写成 git reset --hard HEAD~20
  • git reset --hard <commit_id> // 回到指定版本
  • git reflog // 查看命令历史,以便确定要回到未来哪个版本

撤销修改

  • git checkout -- file // 撤销 readme.txt 在工作区的修改,回到最近一次 git commit / git add 的状态
  • git reset HEAD :将暂存区的修改撤销,重新放回工作区

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令 git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退,不过前提是没有推送到远程库。

添加远程库

在 gitbub 上创建了自己的仓库之后,在本地的 learngit 仓库下运行命令:

  • git remote add origin git@server-name:path/repo-name.git

示例: git remote add origin git@github.con:qiqi/learngit.git,将 qiqi 换成自己的 Github 账户名

将本地库的所有内容推送到远程库上:
git push -u origin master -u 参数,git 会将本地的 master 分支内容推送到远程新的 master 分支,还会把本地的 master 分支和远程的 master 分支关联起来

创建及合并分支

  • git branch dev // 创建 dev 分支
  • git branch -b dev // 创建并切换到 dev 分支
  • git merge branchName // 合并指定分支到当前分支
  • git branch -d dev // 删除 dev 分支
  • git switch -c dev // 创建并切换到新的 dev 分支
  • git switch master // 切换到已有分支

解决冲突