Git命令入门

    xiaoxiao2026-05-10  8

    开始一个工作区(参见:git help tutorial)clone 克隆一个版本库到一个新目录

    init 创建一个空的 Git 版本库或重新初始化一个已存在的版本库

    在当前变更上工作(参见:git help everyday)add 添加文件内容至索引

    mv 移动或重命名一个文件、目录或符号链接 reset 重置当前HEAD到指定状态 rm 从工作区和索引中删除文件

    检查历史和状态(参见:git help revisions)bisect 通过二分查找定位引入 bug 的变更

    grep 输出和模式匹配的行 log 显示提交日志 show 显示各种类型的对象 status 显示工作区状态

    扩展、标记和调校您的历史记录branch 列出、创建或删除分支

    checkout 切换分支或恢复工作区文件 commit 记录变更到版本库 diff 显示提交之间、提交和工作区之间等的差异 merge 合并两个或更多开发历史 rebase 本地提交转移至更新后的上游分支中 tag 创建、列出、删除或校验一个GPG签名的 tag 对象

    协同(参见:git help workflows)fetch 从另外一个版本库下载对象和引用

    pull 获取并整合另外的版本库或一个本地分支 push 更新远程引用和相关的对象

    clone

    克隆版本库到本地。通常不使用init,直接在scm工具里创建一个新的project,然后在本地通过clone命令获取此仓库。

    git clone git@gitlab.alibaba-inc.com:${project-path}.git

    branch

    对代码做出变更后在做变更或协同动作前,请查看你当前所在分支。

    ## 默认查看本地分支列表 及 当前分支会有标记显示 git branch ## 查看本地 及 远程所有分支 git branch -a

    checkout

    ## 切换到本地master git checkout master ## 切换到本地普通分支 git checkout dev/test1 ## 创建新分支并切换到新分支 git checkout -b ${newbranch}

    add

    当新增或者变更一个文件的时候使用add命令将其纳入本地版本库索引。

    ## 单文件 git add test.md ## 多文件 git add test.md test2.md ## 全部变更或新增 git add --all git add .

    log、status

    查找提交记录 或者 查看当前变更状态 使用 log&status 。

    ## 展示当前分支的commit记录 git log ## 仅查看指定行数的log git log -2 ## 查看全部的commit记录,可以用于判断是否本地需要fetch了 git log --all ## 查看状态 git status

    fetch、merge

    开发时需要经常与远程同步。

    git pull 命令等同于fetch+merge,建议分别使用fetch+merge命令以便控制合并变更的决策。

    方式一:将远端修改获取到本地,然后做merge动作。

    ## 从远程下载最新版本到本地master git fetch origin master ## 查看修改 git log -p master..origin/master git log -p dev/test1..origin/master ## 合并远程master的变更到当前所在分支 git merge origin/master

    方式二:将远端修改获取到自定义的新本地分支,然后将此本地分支合并到当前分支。

    ## 从远程下载最新版本到本地新分支newbranch,会同时创建此分支 git fetch origin master:${newbranch} ## 查看修改 git diff ${newbranch} ## 合并本地新分支newbranch的变更到当前所在分支 git merge ${newbranch} ## 废弃临时新分支 git branch -d ${newbranch}

    rebase

    衍合功能的含义是会将当前分支上的变更先拉出去,然后用最新的master分支作为基准,再将当前分支的变更作用上去并提交。相对于merge,rebase类似于aone的分支自动重建,并且不会产生额外的节点。

    ## 对之前fetch来的内容做衍合处理 git rebase  ## 如果有冲突需要马上解决,如果想交互式解决可以加i参数,解决后通过add命令载入变更到索引,并继续 git rebase -i git add . ## 继续 git rebase --continue

    reset

    ## 撤销当前分支上n个版本的提交,比如撤销最近1次的提高 git reset HEAD~1

    push

    推送本地仓库变更到远程仓库。

    ## 提交本地分支变更到远程分支 git push origin dev/test1 ## 提交本地master变更到远程master分支 git push origin master

    将普通分支的变更作用到远程master

    类似aone的最终发布动作。

    git checkout -b dev/test1 ## modify something git add . git commit -m 'test1' git checkout master git merge dev/test1 git push origin master

    To Be Continue

    相关资源:python入门教程(PDF版)
    最新回复(0)