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可简写为branchNameremoteName:远程仓库别名
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:要创建的新分支名
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏北海-RemHusband

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值