git 命令笔记

110 阅读2分钟
// 初始化一个Git仓库,使用git init命令:
git init

// 把要提交的文件的信息添加到暂存区中
// 可反复多次使用,添加多个文件
git add <file>
git add .

git commit -m '<文件描述信息>'

// 查看工作的区域的状态, 那些文件被修改过
git status 
// 查看修改的内容
git diff 

// 版本回退到指定的提交操作
   <commit id>
// 回退到上一次提交操作
git reset --hard HEAD^ 
git reset --hard HEAD^^
git reset --hard HEAD~100

// 查看提交历史
//  后面可以跟参数 --pretty=oneline 一行的方式显示
//  --graph 可以看到 分支合并图
git log
git log --pretty=online
git log --graph

// 查看命令历史
git reflog

// 撤销修改(还没有添加到暂存区)
git checkout -- file 

// 已经添加到暂存区的,然后 git checkout -- file
git reset HEAD <文件>

// 查看本地分支
git branch

// 查看本地分支和远程分支
git branch -a

// 创建本地分支并切换到当前分支
git checkout -b dev
等价于
git branch dev //  创建分支
git checkout dev // 切换分支

// 合并dev 分支到当前分支
git merge dev
// 如果不加 --no-ff 默认git 会采用fast forward ,这种模式下,会丢掉 分支信息
// 合并创建一个新的commit
git merge --no-ff -m 'merge with no-ff' dev

// 删除dev 分支
git branch -d dev
// 强行删除dev 分支
git branch -D dev

// 删除远程分支 如:
git push origin -d test

// 修剪远程分支的本地“缓存”
git fetch -p origin

// 保存当前工作区现场
git stash 

// 回复工作区现场
git stash pop 

// 你可以多次stash,恢复的时候,恢复指定的stash
git stash apply stash@{0}

// 把bug提交的修改“复制”到当前分支,避免重复劳动
git cherry-pick <commit>

// 拉取远程分支并关联本地分支
git checkout -b 本地分支名 origin/远程分支名