git 入门及常用操作命令

136 阅读2分钟

git工作模式

image.png

git基础

  • 直接记录快照,而非差异比较
  • 近乎所有操作都在本地执行
  • 时刻保持数据完整性
  • 多数操作仅添加数据 文件的三种状态
  • 已修改( modified )
  • 已暂存( staged )
  • 已提交( committed )

git文件状态

  • Git 文件
    • 已被版本库管理的文件
  • 已修改
    • 在工作目录修改Git文件
  • 己暂存
    • 对已修改的文件执行Git暂存操作,将文件存入暂存区
  • 已提交
    • 将已暂存的文件执行Git提交操作,将文件存入版本库

image.png

git常用命令

image.png 对于user.name与user.email,有三个地方可以设置

  1. /etc/gitconfig(几乎不会使用),git config --system
  2. ~/.gitconfig(很常用) git config --global
  3. .git/config(针对特定项目) git config --local

git rm 命令:

  1. 删除一个文件
  2. 将被删除的文件纳入到暂存区(stage, index) 若想恢复被删除的文件,需要进行两个操作:
  3. git reset HEAD filename,将待删除的文件从暂存区恢复到工作区(回退 git add操作)
  4. git checkout -- filename,将工作区的修改丢弃

修改提交的commit内容:
git commit --amend -m '修改后的内容'

git log 格式化显示:
git log --pretty=format:"%h - %an, %ar : %s"

.gitignore
需要被git忽略的文件,配置规则:

image.png

git 分支

  • git branch 查看分支
  • git brance new_branch 创建新分支
  • git checkout 切换分支
    • git checkout - 切换到上一个分支
    • git checkout -b new_branch 创建并切换到创建的分支
  • git branch -d 删除分支
  • git branch -D 强制删除分支
  • git merge 分支合并

只有一个分支的情况下,分支是由commit串起来的提交链:

image.png HEAD指向的是当前分支,切换分支时,HEAD的指向也会变化。 可以通过 cat .git/HEAD 查看HEAD的指向

cat .git/HEAD
ref: refs/heads/master

git checkout -b dev
cat .git/HEAD
ref: refs/heads/dev