美文网首页
Git 工作流

Git 工作流

作者: 旧式样 | 来源:发表于2018-10-31 18:49 被阅读0次

    Git 工作流及其上传远程库的一些操作(基于git -bash 命令行)


    一,创建本地库并提交文件(如下图):

           1. 在f盘下新建gitdemo文件夹,以下所有操作基于该文件夹

            2.  建demo1文件夹,并新建test.txt,里面加一行git repo1文字

            3. cd gitdemo1 进入该文件目录,git init 初始化该文件目录为git 管理的仓库。

            4. 然后git add 文件名 添加到暂存区,git commit -m "commit message" 提交到本地仓库。

    创建本地库并提交

    二, 工作流(如下图)

        1. 工作目录下新建demo2

        2. 初始化本地库demo2

        3. 在demo2下新建一个bash_demo.txt(表示第一天需求)并提交

    初始化本地库demo2 提交bash_demo需求 提交完成

    4. 现在修改bash_demo中的需求,并添加到本地库暂存区

    5. 可是现在面临一问题:上一步修改的需求不需要啦,回到第一步的bash_demo的需求,这时就需要其他操作(如下)

    6. git reset HEAD bash_demo 回退暂存区的添加到上一次commit

    7.这时git status 就会发现在master主分支上,no staged for commit >> 暂存区没有提交,这就表明暂存区已经没有上一次改动的需求啦, 但是此时的工作区还是第二次修改的需求,那怎么回退工作区的内容呢?(看下一步)

    8. git checkout -- bash_demo.txt     >>   回退工作区的改动

    工作流

    9. 上一步中是仅仅把工作区的修改提交到暂存区,如果提交到本地库怎么办呢?

    提交回退

    10. git log     >>    查到各个commit 的唯一id

    11. 得到第一次提交的commit id 

    12. git reset --hard commit id   >>   回退到你指定的commit版本

    commit回退

    13. 这时git status 就可以发现本地库已经回退到第一次需求中

    14. 如果此时你的PM跟你说这次的需求不用做啦(该死的PM), 你需要在你的本地库中删掉所有的提交包括需求文档

    15. git rm  bash_demo.txt    >>   删除demo2下的bash_demo.txt文档(可是并没有删除本地git库中的提交)

    16. git commit  -m "commit message"   >>   提交删除,这样本地库中的bash_demo.txt 提交就已经被删除啦

    17. OK 简单的工作流模拟完成

    删除commit

    三, 提交到远程仓库(github为例)
        1. 首先你需要在注册一个github账号              链接

        2. 因为git本地库和github远程库传输需要SSH协议(或者Http),所以在github中配置你的SSH Key ,而git安装完成后在C/Users/Administrator/ 下,有一个文件夹 .ssh/ , .ssh下有一个叫 id_rsa.pub , 复制里面的内容,放在自己github配置中。

    github中配置 查看SSH

    3. gitdemo下新建demo3工作目录,添加一个README.md ,并初始化为git仓库

    4. t添加提交到本地库

    5. 关联远程库   >> git remote add origin git@github.com:*******/***.git,注意在关联之前,你需要在github中new 一个仓库,并得到它的地址,不然无法关联

    6. git push -u origin master   >>   git push 表示提交到远程库,-u origin master 表示提交同时关联本地库master分支和远程库master分支(origin 一般表示远程仓库名,你也可以取其他名字)

    上传到远程库 上传

    7. vim README.md    >>   修改readme.md文件,加上一句second commit  

       *  注意vim 命令 进入命令页面,按下(i ,l)切换到插入界面,按下esc,回到命令界面,按下shift输入命令行 , :wq  保存并退出,回到git 命令行

    8. 提交修改,并push到远程库,这是就不需要 -u 后面的一串东西啦

    修改并提交

    四,克隆和标签

    1. git clone 远程仓库地址   >>   从远程仓库clone到本地目录(注意是本地目录,就是没有经过git init的干净文件目录,如果不是干净的目录,则会有错误,因为该本地库并不和远程库相互关联并同步)

    2.新建sc_clone 目录并初始化,echo "new code " >> test 并向test中追加一些东西,提交并push到远程库。

    标签 提交 push

    3. git tag name   >> 为该本地库打标签,git tag 查看所有标签

    4. git push origin tagname 提交到远程库

    打标签并提交到远程库

    五, 分支

          1.  新建branch_demo 目录,并初始化,echo "first branch demo" 到branch.txt中,并提交

    新建branch_demo,并初始化 添加内容 添加提交

    2. 此时所有的工作都是在master主分支上,正常工作,我们需要自己新建一个分支,在上面工作,然后合并到主分支上(这就是git的强大之处)

    3. git branch feature_x   >> 新建分支feature_x

    4. git branch  >>  查看分支可以发现此时还在master上 ,,git checkout feature_x  切换到某一点分支。

    切换分支

    5. 修改内容并在feature_x分支上提交修改。

    6. 切换到master分支,并把刚才feature_x合并  >> git merge feature_x

    7. 此时查看txt文件的内容,发现已经修改

    修改内容并在feature_x分支上提交修改

    8. git branch -d feature_x    >> 删除无用分支(该分支已经做完工作,可以删掉)

    删除分支


    \bullet   该文章只是在学习中的一些小见解和积累,如有错误请见谅

    引用视频及文章:https://www.imooc.com/learn/1052

    相关文章

      网友评论

          本文标题:Git 工作流

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