参考
文件的状态变化周期
git 基础
忽略文件
.gitignore # github.com/github/giti…
检查当前文件状态、查看已暂存和未暂存的修改
git status git status -s #状态简览 git status --short
暂存前后的变化
git diff git diff --staged #比对已暂存文件与最后一次提交的文件差异 git diff --cached #查看已经暂存起来的变化
跟踪新文件
git add xxx
提交更新
git commit xxx git commit -m "xxx"
移除文件
git rm xxx
移动文件、重命名操作
git mv xxx xxxc
查看提交历史
git log git log -p -2 #显示每次提交所引入的差异(按 补丁 的格式输出),使用 -2 选项来只显示最近的两次提交 git log --stat #除了显示基本信息之外,还附带了每次提交的变化 git log --pretty=oneline #oneline 会将每个提交放在一行显示,--pretty 使用不同于默认格式的方式展示提交历史 git log --pretty=format:"%h - %an, %ar : %s" #输出对后期提取分析格外有用 git log --since=2.weeks # 限制输出长度 --since 和 --until 这种按照时间作限制的选项很有用
撤消对文件的修改
git checkout -- xxx git reset HEAD #撤消之前所做的修改
查看远程仓库
git remote git remote -v #显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL git remote add #添加一个新的远程 Git 仓库
推送到远程仓库
git push origin master
查看某个远程仓库
git remote show origin
远程仓库的重命名与移除
git remote rename xxx xxxc git remote remove xxx git remote rm xxx
git 分支
分支切换
git checkout testing git log --oneline --decorate --graph --all #输出提交历史、各个分支的指向以及项目的分支分叉情况 git checkout -b #创建新分支的同时切换过去
分支的合并
git merge xxx
删除分支
git branch -d xxx git branch -D xxx #强制删除
删除远程分支
git push origin --delete xxx
分支管理
git branch git branch -v #查看每一个分支的最后一次提交 git branch --merged #查看哪些分支已经合并到当前分支 git branch --no-merged #查看所有包含未合并工作的分支
拉取
git pull #会查找当前分支所跟踪的服务器与分支, 从服务器上抓取数据然后尝试合并入那个远程分支。它的含义是一个 git fetch 紧接着一个 git merge 命令 git fetch #服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容
Git 分支 - 远程分支
git remote show
Git 分支 - 变基