Git常用操作

03-12 1314阅读

一、Git的基本命令

git init //初始化本地仓库
git add 文件(文件夹) //添加文件(文件夹)到暂存区 
git status //查看文件当前状态 
git commit 文件(文件夹) -m "提交说明" //提交暂存区文件中指定的文件到本地仓库 
或(git commit -m "提交说明") //提交暂存区中全部的文件到本地仓库 
git ls-files //查看仓库文件列表 
git checkout -- 文件名 //检出git本地库文件到工作区 
git rm 文件名 //删除git版本库文件 
*** 批量处理文件 *** 
git add --all //添加所有文件 
git commit -m ‘all’ //提交暂存区中全部的文件到本地仓库(/** all是给这次提交的备注 **/) 
*** 文件回溯 *** 
git diff HEAD-- 文件名 //文件差异性比较 
git log --pretty=oneline //简化提交日志输出(提交日志hash值 HEAD指针指向说明) 
git reset --hard 版本hash值(5-8个字符) //执行回退/回到操作(向前回退|回到未来) 
(后悔药)git reflog //查看当前用户最近操作日志

二、本地仓库和远程仓库之间传递数据

  • ①:先在远程仓库中新建一个仓库(新建仓库啥都不要选,就选那个公开或者私有就ok)
  • ②:找到仓库生成的最后两行代码,在Git Bash中进行操作即可(也就是已有仓库那个选项卡)

    三、下载远程仓库

    git clone (ssh的网址) //下载远程仓库

    一个模块就是一个master(一般为项目的根目录),如果想要对某一模块进行bug的修复或者功能的更新,就可以在这个master上新建一个或多个分支,之后就可以进行合并或者组合操作。

    Git常用操作
    (图片来源网络,侵删)

    可以想作为大鱼吃小鱼,小鱼吃虾米。(嘻嘻嘻~)

    四、使用git新建分支并上传

    查看一下分支结构

    git branch

    如果没有你自己的分支,新建分支

    git checkout -b 分支名称

    已有分支,切换到当前分支

    git checkout 分支名称

    将要上传的文件提交

    git add .

    提交文件

    git commit -m '提交的描述'

    push到远程仓库

    git push origin 你的分支名称

    五、合并分支

    第一种情况:目标:将dev分支合并到master分支(这里的dev分支只是举个例子)

    1.1、首先切换到master分支上

    git checkout master

    1.2、如果是多人开发的话 需要把远程master上的代码pull下来

    //如果是自己一个开发就没有必要了,为了保险期间还是
    pull git pull origin master

    1.3、然后我们把dev分支的代码合并到master上

    //如果有冲突,手动解决冲突就行。 
    git merge dev

    1.4、然后查看状态及执行提交命令

    git status 
    On branch master Your branch is ahead of 'origin/master' by 12 commits. (use "git push" to publish your >local commits) nothing to commit, working tree clean 
    //上面的意思就是你有12个commit,需要push到远程master上 
    > 最后执行下面提交命令 
    git push origin master

    第二种情况:合并某个分支上的单个commit(cherry-pick命令)

    比如 feature 分支上的commit 82ecb31非常重要,它含有一个bug的修改,或其他人想访问的内容。无论什么原因,你现在只需要将82ecb31合并到master,而不合并feature上的其他commits;

    所以我们用git cherry-pick命令来做:

    git checkout master git cherry-pick 82ecb31

    这样就好啦。 现在82ecb31就被合并到master分支,并在master中添加了commit(作为一个新的commit)。cherry-pick和merge比较类似,如果git不能合并代码改动(比如遇到合并冲突),git需要你自己来解决冲突并手动添加commit。

    这里git cherry-pick每次合并过来会显示文件冲突(其实并没有冲突代码部分,只需手动解决即可)。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]