玩转Git三剑客 学习笔记
配置 user 信息
$ git config --global user.name 'your_name'
$ git config --global user.email 'your_email'
$ git config --local // 只对某个仓库有效,缺省等同于local
$ git config --global // 对当前用户所有仓库有效
$ git config --system // 对系统所有登录的用户有效
显示 config 的配置,加 --list
$ git config --list --local
$ git config --list --global
$ git config --list --system
建 git 仓库
1、把已有项目代码纳入 git 管理
$ cd 项目代码所在的文件夹
$ git init
2、新建的项目直接用 git 管理
$ git init your_project // 会在当前路径下创建和项目同名的文件夹
$ cd your_project
往仓库里添加文件
工作目录 -> git add files
-> 暂存区 -> git commit
-> 版本历史
添加所有已经追踪的文件到暂存区:
$ git add -u
给文件重命名的简便方法
$ git mv inde.html index.html
通过 git log 查看版本演变历史
$ git log --oneline // 查看单行的简洁历史
$ git log --all // 查看所有分支的历史
$ git log --all --graph // 查看所有分支图形化的历史
$ git log -n3 // 查看最近3条历史
$ git log --all --oneline -n4 --graph // 查看所有分支最近4条单行的图形化历史
删除分支
$ git branch -d <branch>
$ git branch -D <branch> // 上面的命令删除不了,就用下面的
修改 commit 信息
$ git commit --amend // 修改最新的commit信息
$ git rebase -i <commit_id> // 修改旧的commit信息或合并多条commit信息为一条,commit_id为要修改的commit前一次commit的id
比较差异
$ git diff --cached // 比较暂存区和HEAD所含文件的差异
$ git diff // 比较工作区和暂存区所含文件的差异
$ git diff -- <file> // 比较工作区和暂存区指定文件的差异
$ git diff <commit_id> <commit_id> -- <file> // 比较两次提交指定文件的差异
撤销暂存区的文件
$ git reset HEAD // 撤销所有文件
$ git reset HEAD <file> // 撤销指定的文件
撤销工作区的文件的修改
$ git checkout -- <file>
消除最近几次提交
$ git reset --hard <commit_id>
删除文件
$ git rm <file>
暂时存储工作区的修改
$ git stash // 暂存工作区变更
$ git stash list // 暂存列表
$ git stash apply // 恢复暂存的工作,但暂存信息还在
$ git stash pop // 恢复暂存的工作,同时删除暂存信息
git 与远端关联
git remote add origin git@github.com:xxx/xxx.git