赞
踩
命令 | |
---|---|
git add 文件名 | 将工作区的某个文件添加到暂存区 |
git add -u | 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件 |
git add -A | 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件 |
git add * | 将当前工作区的所有文件都加入暂存区 |
git add -i | 进入交互界面模式,按需添加文件到缓存区 |
命令 | |
---|---|
git status | 查看工作区与暂存区的当前情况 |
git status -s | 让结果以更简短的形式输出 |
命令 | |
---|---|
git commit -m “提交说明” | 将暂存区内容提交到本地仓库 |
git commit -a -m “提交说明” | 跳过缓存区操作,直接把工作区内容提交到本地仓库 |
命令 | |
---|---|
git diff | 工作区与缓存区的差异 |
git diff 分支名 | 工作区与某分支的差异,远程分支这样写:remotes/origin/分支名 |
git diff HEAD | 工作区与HEAD指针指向的内容差异 |
git diff 提交id 文件路径 | 工作区某文件当前版本与历史版本的差异 |
git diff --stage | 工作区文件与上次提交的差异(1.6 版本前用 --cached) |
git diff 版本TAG | 查看从某个版本后都改动内容 |
git diff 分支A 分支B | 比较从分支A和分支B的差异(也支持比较两个TAG) |
git diff 分支A…分支B | 比较两分支在分开后各自的改动 |
命令 | |
---|---|
git log | 查看所有commit记录(SHA-A校验和,作者名称,邮箱,提交时间,提交说明) |
git log -p -次数 | 查看最近多少次的提交记录 |
git log --stat | 简略显示每次提交的内容更改 |
git log --name-only | 仅显示已修改的文件清单 |
git log --name-status | 显示新增,修改,删除的文件清单 |
git log --oneline | 让提交记录以精简的一行输出 |
git log –graph –all --online | 图形展示分支的合并历史 |
git log --author=作者 | 查询作者的提交记录(和grep同时使用要加一个–all–match参数) |
git log --grep=过滤信息 | 列出提交信息中包含过滤信息的提交记录 |
git log -S查询内容 | 和–grep类似,S和查询内容间没有空格 |
git log fileName | 查看某文件的修改记录,找背锅专用 |
命令 | |
---|---|
git blame 文件名 | 查看某文件的每一行代码的作者,最新commit和提交时间 |
未commit前想对文件进行恢复:
# 删除暂存区中的文件:
git rm 文件名
git commit -m "提交说明"
# 误删恢复文件
git checkout -- 文件名
# 另外注意:git checkout会抛弃当前工作区的更改!!!不可恢复!!!务必小心!!!
如果更改(commit)后add到了暂存区,想恢复原状,下述指令可以让文件恢复原状:
git reset HEAD 文件名
git checkout 文件名
文件已经commit了,想恢复成上次commit的版本或者上上次,可以:
git reset HEAD^ # 恢复成上次提交的版本
git reset HEAD^^ # 恢复成上上次提交的版本,就是多个^,以此类推或用~次数
git reset --hard 版本号 # git log查看到的SHA1值,取前七位即可,根据版本号回退
命令 | |
---|---|
git blame 文件名 | 查看某文件的每一行代码的作者,最新commit和提交时间 |
命令 | |
---|---|
git revert HEAD | 撤销最近的一个提交 |
git revert 版本号 | 撤销某次commit |
命令 | |
---|---|
git show 提交id | 查看某次commit的修改内容 |
命令 | |
---|---|
git rev-parse 分支名 | 查看分支commit的版本号,可以写HEAD |
因为你的某次误操作导致commit丢失,如果git reflog都找不到,你可以考虑使用git fsck,找到丢失的对象的版本id,然后恢复即可。
命令 | |
---|---|
git fsck --lost-found | 找回丢失是版本对象id |
命令 | |
---|---|
git branch (branchname) | 创建分支命令 |
git branch | 列出分支 |
git checkout (branchname) | 切换分支命令 |
git merge (branchname) | 合并分支 |
git checkout -b (branchname) | 创建新分支并立即切换到该分支下 |
git branch -d (branchname) | 删除分支命令 |
git push | 推送本地仓库到远程仓库 |
git clone | 克隆远程仓库 |
Git中从远程的分支获取最新的版本到本地有这样2个命令:
git fetch origin master
git log -p master…origin/master
git merge origin/master
以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上;然后比较本地的master分支和origin/master分支的差别;最后进行合并。上述过程其实可以用以下更清晰的方式来进行:
git fetch origin master:tmp
git diff tmp
git merge tmp
从远程获取最新的版本到本地的tmp分支上之后再进行比较合并
git pull origin master
上述命令其实相当于git fetch 和 git merge 在实际使用中,git fetch更安全一些。因为在merge前,我们可以查看更新情况,然后再决定是否合并结束。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。