Git工作常用指令及工作流

676 阅读3分钟

1.git添加到工作区以及回滚

🌵1.1-提交流程:(git安装过程略)

  • 新建一个文件夹a,然后进入文件夹a进行git初始化(git init)。

    • 目录如下(三个文件依次分了3个版本进行的提交):

      01gitlearn      
      ├─ index.html   
      ├─ yuefan.html  
      └─ 东北热.txt      
      
  • 文件夹中新建一个文件:index.html;然后命令行执行git status的时候会发现index.html文件名是红色的。

  • git add .:文件夹中所有的文件添加到暂存区

  • git commit -m "提交信息":将暂存区中的文件提交到版本库(提交后就有自己的提交版本号信息)

  • git log:可以看到提交后的日志,看到提交版本号信息。

    • 退出git log 需要在输入法英文状态下按q

1.2-回滚:

  • 在项目目录内可以通过git log 查看到曾经提交过的多个版本号信息
  • 执行git reset --hard + 要回滚到的版本提交信息
  • 回滚后在通过git log查看,只能看到前两次的版本号信息;
    • 那么如何才能像一个钟摆那样,滚动过去,还能滚回来呢?
    • 这时候需要通过git reflog来查看提交的版本号信息
    • 继续通过git reset --hard + 版本号信息,这样就恢复了之前的版本

更全的切换撤回等操作命令请看下图:

2.分支:

  • 创建分支:git branch +分支名

  • 查看分支:git branch

  • 切换分支:git checkout +分支

🐳现在主分支上master突然有bug了,而新功能还在开发阶段,如何切换修复线上bug而不影响现有开发的内容呢?

  • git checkout master:从现有分支上回到master主分支上

  • git branch fixbug:创建一个修改bug的分支

  • git checkout fixbug:从主分支上切换到master分支上去修改bug

  • git branch -d fixbug:删除fixbug分支

    • fixbug分支上修改完bug后还需要和master主分支进行合并的,接着看下面的合并到master的操作:
      • 第一步-先得切换回到master:git checkout master
      • 第二步-合并fixbug分支到master上:git merge fixbug
      • 第三步-fixbug如果没用了,那就删除fixbug分支:git branch -d fixbug
  • 🚀bug修复完了,也合并到了master上面去,上面提到的开发新功能也开发完成了。 重复上面流程合并代码的时候发现,如下图:

因为修改bug的时候的分支和开发新功能的分支都是基于masterbug修改好了之后,master已经不是原来的master了,他自己又往前面跑了好多路。 这时候需要手动解决✋冲突,然后提交代码。

2.1-推送到远端:

1.创建远端仓库(这里我用的是gitee:gitee.com/)

需要在全局对git进行限制:

git config --global user.name "bulala"
git config --global user.email "bulabualbula.@qq.com"

2.推送代码到远端仓库:

git remote add origin https://gitee.com/rapsai/gitlearn.git   //给远仓库起名为orign,这样就可以用orign来代替后面的链接

git push -u origin master    //推送到远端仓库

3.克隆仓库代码:

  • 克隆的代码包括分支哈,克隆后的代码可以进行分支操作的
git clone https://gitee.com/rapsai/gitlearn.git

4.在家里拉取公司的代码:

🌵在公司开发代码:

1.切换到dev进行开发
git checkout dev

2.把master合并到dev分支(仅仅第一次的时候,这里可以看上面的图,因为分支开发完了被合并到了master,但是master的代码dev并没有,所以利用dev开发的时候要小心这个事情)
git merge master

3.开发ing

4.提交代码
git add .
git commit -m "xxx功能"
git push origin dev

🌵在公司开发继续开发:

1.切换到dev分支
git checkout dev

2.拉取远端更新的代码
git pull origin dev

3.继续开发ing

4.提交代码
git add . 
git commit -m "完成了xx弹窗"
git push origin dev

🌵开发完毕要上线:

1.将dev分支合并到master进行上线
git checkout master
git merge dev
git push origin master

2.把dev也推送到远程
git checkout dev
git merge master
git push origin dev

最后附上一张git指令图: git命令.png