git-使用

77 阅读2分钟

参考

git-scm.com/book/zh/v2/…

文件的状态变化周期

image.png 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 分支 - 变基

git-scm.com/book/zh/v2/…