Git 常用命令一览表

命令 作用 参数说明
git init 初始化工作区
git clone [url] [projectName] 克隆远程地址 url 处的项目到本地 url:远程项目地址,必传
projectName:自定义克隆后得到的项目名
git status 查看当前工作目录文件状态,状态分为:未跟踪、已修改、已暂存
git add [filePath] 将指定的文件添加到暂存区 filePath:文件相对于项目根目录的路径,也可直接填写".",表示将所有当前工作目录下可暂存的文件统一暂存
git diff 比较工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容
git diff --cached / git diff --staged(Git 1.6.1+) 比较已经暂存起来的文件和上次提交时的快照之间的差异
git commit 将暂存区内容提交到本地仓库,会唤起安装Git时设置的默认编辑器来让用户输入提交信息,保证在使用过 git add 后使用该命令
git commit -m “[message]” 直接使用一行命令携带提交信息提交更新,保证在使用过 git add 后使用该命令 message:提交信息
git commit -m -a “[message]” 自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤
git rm [filePath] 要从已跟踪文件清单中移除(确切地说,是从暂存区域移除)某个文件,从而使该文件不再纳入版本管理了 filePath:文件相对于项目根目录的路径
git rm -f [filePath] 同上,如果该文件删除之前修改过并且已经放到暂存区域的话,使用本命令 同上
git rm --cached [filePath] 把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。换句话说,仅是从跟踪清单中删除。 同上
git log 按提交时间列出所有的提交历史更新,最近的更新排在最上面,键入 q 退出日志展示状态
git log -p 展开显示每次提交的内容差异
git log -p -[num] 仅显示最近的 num 次更新 num:展示最近几次的更新
git log --stat 仅显示简要的增改行数统计
git log --pretty=oneline 将每个提交放在一行显示,这在提交数很大时非常有用
git log --pretty=format:“%h %s” --graph 形象地展示每个提交所在的分支及其分化衍合情况
git commit --amend 当上一次提交有文件忘记 add 了或者提交说明写错了,使用该命令可以提交当前暂存区并覆盖上次提交,即修改最后一次提交
git reset HEAD [fileName] 取消对某个文件的暂存 fileName:文件名
git checkout – [fileName] 取消对某个文件的修改 fileName:文件名
git remote 列出当前项目所有远程仓库的名称
git remote -v/–verbose 列出当前项目所有远程仓库的名称和克隆地址
git remote add [shortName] [url] 添加远程仓库 shortName:远程分支别名
url:仓库地址
git fetch [remoteName] 此命令会到远程仓库中拉取所有本地仓库中还没有的数据。运行完成后,就可以在本地访问该远程仓库中的所有分支,该命令首先找到 remoteName 是哪个服务器,从上面获取你尚未拥有的数据,更新你本地的数据库 remoteName:远程仓库别名
git pull 当本地分支已跟踪远程分支后,该命令会将远端最新的内容拉取并合并到当前本地分支
git push 当本地分支已跟踪远程分支后,该命令会将本地最新的内容推送到远程对应分支
git push [remoteName] [branchName] 将本地仓库中的数据推送到远程仓库。只有在所克隆的服务器上有写权限,或者同一时刻没有其他人在推数据,这条命令才会如期完成任务。如果在你推数据前,已经有其他人推送了若干更新,那你的推送操作就会被驳回。你必须先把他们的更新抓取到本地,合并到自己的项目中,然后才可以再次推送。 remoteName:远程仓库别名
branchName:分支名
git remote show [remoteName] 显示远程仓库信息 remoteName:远程仓库别名
git remote rename [preName] [newName] 修改某个远程仓库在本地的简称 preName:之前的名字
newName:新名字
git tag 列出现有标签
git tag -a [tagName] -m ‘[message]’ 创建一个标签 tagName:标签名,一般写为版本号
message:信息
git show [tagName] 查看相应标签的版本信息,并连同显示打标签时的提交对象 tagName:标签名,一般写为版本号
message:信息
git tag -s [tagName] -m ‘[message]’ 有自己的私钥的话,还可以用 GPG 来签署标签,再运行 git show 会看到对应的 GPG 签名也附在其内 tagName:标签名,一般写为版本号
message:信息
git tag -v [tagName] 此命令会调用 GPG 来验证签名,所以你需要有签署者的公钥,存放在 keyring 中,才能验证
git tag -a [tagName] [hash] 为指定的某次提交打标签 tagName:标签名,一般写为版本号
hash:指定提交的哈希值
git push [remoteName] [tagName] 默认情况下,git push 并不会把标签传送到远端服务器上,只有通过改显式命令才能分享标签到远端仓库
git push [remoteName] --tags 一次推送所有本地新增的标签上去
git branch 列出所有分支
git branch -vv 列出本地分支和远程分支的关联情况
git branch --merge 列出所有已合并到当前分支的分支
git branch --no-merge 列出所有未合并到当前分支的分支
git branch [branchName] 新建分支 branchName:分支名
git checkout [branchName] 切换分支 branchName:分支名
git checkout -b [branchName] 以当前分支为基础,新建并同时立即切换分支 branchName:分支名
git checkout -b [branchName] [remoteName]/[remoteBranchName] 以指定远程仓库的指定分支为基础,新建并同时立即切换分支 remoteName:远程仓库别名
remoteBranchName:远程分支名
branchName:本地分支名
git branch -d/-D [branchName] -d:删除已合并的分支,-D:强制删除未合并的分支 branchName:分支名
git merge [branchName] 合并某个分支的修改到当前分支 branchName:分支名
git mergetool 调用一个可视化的合并工具并引导你解决所有冲突
git push [remoteName] [branchName]:[remoteBranchName] 将本地分支的修改,推送到远程指定分支上,当远程分支与当前分支同名时,branchName:remoteBranchName可简写为branchName remoteName:远程仓库别名
remoteBranchName:远程分支名
branchName:本地分支名
git push [remoteName] :[remoteBranchName] 删除远程分支 remoteName:远程仓库别名
remoteBranchName:远程分支名
git stash 储藏当前工作区的变更,使工作区变得干净,经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是该命令
git stash save “[message]”/git stash save – “[message]”(旧版本) 为储存添加信息,方便识别储存内容
git stash list 查看现有的储藏列表
git stash apply 重新应用你刚刚实施的储藏,对文件的变更被重新应用,但是被暂存的文件没有重新被暂存
git stash apply --index 重新应用你刚刚实施的储藏,对文件的变更被重新应用,被暂存的文件也重新被暂存
git stash apply [stashName] 重新应用指定的储藏 stashName:储藏名,可以通过 git stash list 命令查看
git stash drop [stashName] 重将指定的储藏从储藏列表中删除 stashName:储藏名,可以通过 git stash list 命令查看
git stash pop 重新应用你刚刚实施的储藏,并将其从储藏列表中删除
git stash show -p [stashName] | git apply -R 在某些情况下,你可能想应用储藏的修改,在进行了一些其他的修改后,又要取消之前所应用储藏的修改,使用该命令 stashName:储藏名,可以通过 git stash list 命令查看,不传的话默认使用最近的储存
git stash branch [branchName] 如果你储藏了一些工作,暂时不去理会,然后继续在你储藏工作的分支上工作,你在重新应用工作时可能会碰到一些问题。如果尝试应用的变更是针对一个你那之后修改过的文件,你会碰到一个归并冲突并且必须去化解它。如果你想用更方便的方法来重新检验你储藏的变更,你可以运行 git stash branch,这会创建一个新的分支,检出你储藏工作时的所处的提交,重新应用你的工作,如果成功,将会丢弃储藏。如果你储藏了一些工作,暂时不去理会,然后继续在你储藏工作的分支上工作,你在重新应用工作时可能会碰到一些问题。如果尝试应用的变更是针对一个你那之后修改过的文件,你会碰到一个归并冲突并且必须去化解它。如果你想用更方便的方法来重新检验你储藏的变更,你可以运行 git stash branch,这会创建一个新的分支,检出你储藏工作时的所处的提交,重新应用你的工作,如果成功,将会丢弃储藏。 branchName:要创建的新分支名

你可能感兴趣的:(项目规范化,git)