美文网首页
git 命令列表

git 命令列表

作者: 皓皓大帝 | 来源:发表于2017-07-21 14:36 被阅读67次

    废话:Git,是分布式版本控制系统,在多人开发的模式下,相信很多人都在用高大上的git,git是目前版本控制系统中非常非常好的。本文不会详细介绍git的历史、发展和功能,都是干货,如果想详细了解git可以看廖雪峰的文章,写的非常好,我也是在这里学习的。

    git命令列表:

    git status
    

    查看当前仓库的状态,查看修改和未提交的文件。

    git diff
    

    查看工作区与暂存区的区别。

    git diff fileName
    

    查看对fileName文件做了哪些修改,不写的话就会列出所有修改的文件。

    git diff HEAD --fileName
    

    查看工作区与上一条提交的区别。注:从来没有被 add 过 的文件,untracked files 并不会显示出来。

    git diff --staged 或 git diff --cached
    

    查看暂存区与最新提交的区别。

    git add fileName
    

    将fileName工作区的内容添加到暂存区,‘git add .’是将所有修改的文件的工作区内容添加。(工作区和暂存区大家自行了解吧!)

    git commit -m"备注"
    

    将暂存区的内容提交到当前库的当前分支上。

    git commit --amend
    

    发现刚刚的提交内容有错误时,并且不想再提交一次,可以在修复后使用git commit --amend。该命令会将工作区与上次提交的内容合并起来,并创建一个新的commit,将当前的commit替换掉。

    git log
    

    查看提交历史记录。

    git log -p
    

    查看每个提交中的详细修改内容。

    git log --stat
    

    查看每个提交中修改的文件。

    git show commitId
    

    查看指定提交的修改内容。不加commitId,即为最新的提交。

    git show commitId 文件路径
    

    查看指定提交的指定文件的修改内容。

    git reset --hard HEAD^
    

    回退到上一版本。‘git reset --hard HEAD^^’回退到上两个版本,以此类推。

    git reset --hard commitId
    

    回退到指定的版本,commitId可以通过git log或git reflog获取到。

    git revert HEAD^
    

    增加一个新的提交,内容与指定提交相反,达到互相抵消的效果,从而实现撤销提交。

    git reflog
    

    git命令的历史列表,记录了每次执行的git命令,包括commitId和提交信息。

    git checkout --fileName
    

    销毁fileName工作去的内容,让文件回退到最近一次git commit或git add的状态。

    git checkout -b dev
    

    在仓库中创建并切换到dev分支,dev是自己起的分支名。

    git branch
    

    列出库中的所有分支,*标注的是当前分支。

    git checkout master
    

    切换到master分支。

    git merage dev
    

    在master分支上执行该命令,就是将dev分支的内容合并到master上。

    git branch -d dev
    

    删除dev分支。

    git merage --no-ff -m"备注" dev
    

    在执行git merage命令合并分支时,在没有冲突的情况下,默认采用Fast forward模式进行合并。该命令是禁止Fast forward模式,并会创建一个commit。

    git stash
    

    将当前分支的当前工作现场储藏,储藏后git status查看不到修改状态。

    git stash list
    

    储藏列表。

    git stash apply
    

    恢复储藏的内容,恢复后stash内容不删除,列表中还存在。

    git stash pop
    

    恢复储藏内容,恢复后stash内容删除,列表中不存在。

    git stash apply stash@{i}
    

    恢复指定的储藏内容,i是列表中的序号。

    git branch -D dev
    

    强行删除dev分支,分支在未被合并的情况下执行‘git branch -d dev’删除会失败,需要强行删除,删除后dev的修改会丢掉。

    git remote
    

    查看远程库的信息。

    git remote -v
    

    查看远程库更加详细的信息,抓取(fetch)和推送(push)的地址。

    git push origin dev
    

    将本地仓库分支的所有提交推送到远程仓库对应的分支上面。

    git push origin dev -f
    

    强制将本次提交推送到远程仓库。

    git tag
    

    查看当前分支下所有的tag。

    git tag v1.0
    

    打一个新的tag:v1.o,默认是打在最新提交的commit上。

    git tag v1.0 commitId
    

    将tag打在指定的commit上。

    git show v1.0
    

    查看tag的信息,如时间、作者、commitId、说明等。

    git tag - v1.0 -m“说明信息” commitId
    

    创建带有说明的tag。

    git tag -s v1.0 -m"说明信息" commitId
    

    通过私钥签名打tag。

    git tag -d v1.0
    

    删除指定的tag。(本地)

    git push origin v1.0
    

    将指定的tag推送到远程。

    git push origin --tags
    

    将本地所有为推送至远程的tag,一次性推送至远程。

    git tag -d v1.0
    

    删除本地的tag。

    git push origin :refs/tags/v1.0
    

    删除已经推送至远程的tag,先要将本地的删除。

    git merge --abort
    

    取消本次merge操作。

    git config --global alias.st status
    

    配置git status命令的别名,--global表示全局有效,不写的话就只在当前库有效。alias.st,st是自定义的,代替status,配置后git st = git status.

    git config --global alias.co checkout
    

    git checkout的别名。

    .gitignore
    

    存放git提交忽略的文件,在gitignore中配置过的文件,通过git status无修改状态,git commit也不会被提交,不过可能会没用,执行git rm --cached fileName从staged移除之后再试试。

    .git/config
    

    别名的配置都存在了这个文件中,可以在里面直接修改或删除某个git命令的别名。

    恩!就总结这些git命令了,可能上面哪里理解的不对,欢迎大神们批评教育!

    相关文章

      网友评论

          本文标题:git 命令列表

          本文链接:https://www.haomeiwen.com/subject/rlgskxtx.html