在日常工作中,针对代码的处理上,可能用到的是图形界面来操作,很少使用命令,使用也都是偶尔去查查,这里就记录一下平时常用的命令。
一、初始化
# 新建 git 代码库
git init
# 新建目录,将其初始化为Git代码库
git init [project-name]
# 克隆项目
git clone [项目地址]
二、提交
# 查看状态
git status
# 将文件添加至暂存区
git add <filename>
#提交修改,message为提交信息
git commit -m 'message'
# 提交信息不被修改,任为上一次提交信息
git commit --amend --no-edit
# 备份当前的工作区的内容,保存到Git栈中
git stash
# 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash pop
# 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash list
# 清空Git栈。此时使用git等图形化工具会发现,原来stash的哪些节点都消失了。
git stash clear
三、分支操作
# 查看分支
git branch
# 列出远程分支
git branch -r
# 列出本地分支和远程分支
git branch -a
# 删除分支(本地分支)
git branch -d dev
# 新建dev分支,并停留在当前分支
git branch dev
# 切换dev分支
git checkout dev
# 将dev分支和当前分支合并
git merge dev
# 新建test分支并切换
git checkout -b test
# 克隆远程分支dev,并切换到dev
git checkout -b dev origin/dev
# 本地分支关联远程分支
git branch --set-upstream-to=origin/remote_branch your_branch
# 更新远程分支的本地列表
git remote update origin --prune
# 分支重命名
git branch -m [branchName] [newBranchName]
四、提交远程等操作
# 从远程分支master上下载
git pull origin master
# 版本回撤
git checkout --
# 删除文件
git rm -f filename
# 移除暂存区的修改
git rm --cached <filename>
# 本地仓库关联远程仓库
git remote add <远程仓库名> git@github.com:<账号>/<本地仓库名>.git
五、版本控制、比较差异
# 回退一步
git reset --hard HEAD^
# 回退三步
git reset --hard HEAD~3/HEAD^^^
# 将版本回退至84def97
git reset --hard 84def97
# 比较工作区和暂存区的 所有文件 差异
git diff
# 比较工作区和暂存区 指定文件 的差异
git diff <filename>
六、标签
# 查看历史提交。 空格向下翻;b向上翻;q退出
git log
# 一行显示,包含哈希索引值
git log --pretty=oneline
# 简洁的一行显示
git log --oneline
# 简洁一行显示,并显示移动到某个历史版本所需步数
git reflog
七、日志
# 查看历史提交。 空格向下翻;b向上翻;q退出
git log
# 一行显示,包含哈希索引值
git log --pretty=oneline
# 简洁的一行显示
git log --oneline
# 简洁一行显示,并显示移动到某个历史版本所需步数
git reflog
八、其他
# git忽略某个指定的文件(不从版本库中删除)
git update-index --assume-unchanged config.conf
# git取消忽略某个指定的文件
git update-index --no-assume-unchanged config.conf