美文网首页
Git 常用命令

Git 常用命令

作者: 小餐包 | 来源:发表于2017-06-29 16:03 被阅读8次

    git diff示意图
    git各种操作关系图

    概念:

    Workspace:工作区

    Index / Stage:暂存区

    Repository:仓库区(或本地仓库)

    Remote:远程仓库

    初始化:

    # 在当前目录新建一个Git代码库$ git init

    # 下载一个项目和它的整个代码历史$ git clone[url]

    配置:

    # 显示当前的Git配置$ git config--list

    # 编辑Git配置文件$ git config-e[--global]

    # 设置提交代码时的用户信息

    $ git config[--global]user.name"[name]"

    $ git config[--global]user.email"[email address]"

    增加/删除/重命名:

    # 添加指定文件到暂存区$ git add [file1] [file2]...

    # 添加指定目录到暂存区,包括子目录$ git add [dir]

    # 添加当前目录的所有文件到暂存区$ git add .

    # 删除工作区文件,并且将这次删除放入暂存区$ git rm [file1] [file2]...

    # 停止追踪指定文件,但该文件会保留在工作区$ git rm --cached [file]

    # 改名文件,并且将这个改名放入暂存区$ git mv [file-original] [file-renamed]

    !!

    git checkout .#本地所有修改的。没有的提交的,都返回到原来的状态;

    git stash#把所有没有提交的修改暂存到stash里面。可用git stashpop回复;

    git reset --hard HASH#返回到某个节点,不保留修改。

    提交:

    # 提交暂存区到仓库区$ git commit -m [message]

    # 提交暂存区的指定文件到仓库区$ git commit [file1] [file2]... -m [message]

    # 提交工作区自上次commit之后的变化,直接到仓库区$ git commit -a

    分支:

    # 列出所有本地分支$ git branch

    # 列出所有远程分支$ git branch -r

    # 列出所有本地分支和远程分支$ git branch -a

    # 新建一个分支,但依然停留在当前分支$ git branch [branch-name]

    # 新建一个分支,并切换到该分支$ git checkout -b [branch]

    # 新建一个分支,与指定的远程分支建立追踪关系$ git branch --track [branch] [remote-branch]

    # 切换到指定分支,并更新工作区$ git checkout [branch-name]

    # 切换到上一个分支$ git checkout -

    # 合并指定分支到当前分支$ git merge [branch]

    # 删除分支$ git branch -d [branch-name]

    查看:

    # 显示有变更的文件$ git status

    # 显示当前分支的版本历史$ git log

    #可以在log中查找制定关键字对应的commit  $log [--grep "xxx"]

    # 显示commit历史,以及每次commit发生变更的文件$ git log--stat

    # 显示指定文件是什么人在什么时间修改过$ git blame[file]

    # 显示暂存区和工作区的差异$ git diff

    # 显示暂存区和上一个commit的差异$ git diff--cached[file]

    # 显示工作区与当前分支最新commit之间的差异$ git diff HEAD

    # 显示两次提交之间的差异$ git diff[first-branch]...[second-branch]

    远程同步:

    # 下载远程仓库的所有变动$ git fetch[remote]

    # 显示所有远程仓库$ git remote-v

    # 显示某个远程仓库的信息$ git remote show[remote]

    # 增加一个新的远程仓库,并命名$ git remote add[shortname][url]

    # 取回远程仓库的变化,并与本地分支合并$ git pull[remote][branch]

    # 上传本地指定分支到远程仓库$ git push[remote][branch]

    # 强行推送当前分支到远程仓库,即使有冲突$ git push[remote]--force

    # 推送所有分支到远程仓库$ git push[remote]--all

    相关文章

      网友评论

          本文标题:Git 常用命令

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