美文网首页Other
[Git] git用法小结

[Git] git用法小结

作者: 何幻 | 来源:发表于2016-05-05 15:57 被阅读125次

    1. 初始化

    git init #初始化git版本库
    git config --global user.name [user name] #全局设置git用户名
    git config --global user.email [user email] #全局设置git邮件地址

    2. 提交

    git diff #放入暂存区前,比较工作区与当前版本的差异
    git add [file name] #把文件放到暂存区
    git commit -m "[comment]" #把暂存区中的文件提交到版本库

    3. 回滚

    git log #从当前版本向前查看历史记录
    git reflog #查看所有历史记录
    git reset --hard [commit id] #把工作区恢复到某次提交后的版本
    git checkout -- [file name] #回到最近一次git add或git commit后的状态
    git reset HEAD [file name] #把暂存区的修改撤销掉,重新放回工作区
    git rm [file name] #从工作区中删除文件,并把删除操作记录到暂存区

    4. 远程

    git clone [remote repository] #克隆远程库到本地
    git remote -v #显示远程分支的信息,如果没有推送权限就看不到push地址
    git remote add origin [remote repository] #设置远程库地址
    git push -u origin master #把本地库的master分支推送到远程,-u用于第一次推送建立关联,以后git push origin master即可
    git checkout -b [local branch name] origin/[remote branch name] #在本地创建和远程分支对应的分支
    git pull #把最新的提交从远程分支上抓取下来

    5. 分支

    git branch #查看分支列表和当前分支
    git checkout -b [branch name] #创建并切换到新分支
    git checkout [branch name] #切换到分支
    git merge [branch name] #合并指定分支到当前分支
    git branch -d [branch name] #删除分支
    git branch -D [branch name] #删除尚未被合并的分支
    git log --graph --pretty=oneline --abbrev-commit #图形化显示分支结构
    git merge --no-ff -m "[comment]" [branch name] #禁用Fast forward模式merge分支,即,先把当前分支提交,再合并

    6. 暂存

    git stash #把当前分支的工作现场保存起来,git status看不到修改
    git stash list #查看保存过的工作现场列表
    git stash pop #恢复工作现场,并从保存列表中删除
    git stash apply #恢复现场,不从列表中删除
    git stash drop #删除最近保存的stash
    git stash apply [stash id] #恢复列表中指定的stash
    git stash drop [stash id] #删除列表中指定的stash

    7. 标签

    git tag [tag name] #给当前分支的最后一次commit打上标签
    git tag [tag name] [commit id] #给指定的commit打上标签
    git tag -a [tag name] -m "[comment]" [commit id] #创建有说明的标签
    git tag #显示所有标签
    git show [tag name] #显示指定标签的提交信息
    git tag -d [tag name] #删除标签
    git push origin [tag name] #推送指定标签到远程
    git push origin --tags #推送所有本地标签到远程


    注:
    (1)git rm [file name]后的恢复方法:
    git reset HEAD [file name] && git checkout -- [file name]

    (2)git pull提示"no tracking information"
    说明本地分支和远程分支没有建立联系
    git branch --set-upstream [local branch name] origin/[remote branch name]

    (3)如果标签已经推送到远程,要删除远程标签就麻烦一些
    git tag -d [tag name] && git push origin :refs/tags/[tag name]

    (4)强制添加.gitignore忽略的文件
    git add -f [file name]
    还可以用git check-ignore -v [file name]来查看.gitignore的哪一行忽略了该文件


    参考:
    Git教程- 廖雪峰的官方网站

    相关文章

      网友评论

        本文标题:[Git] git用法小结

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