Git经常使用命令及做用

忙里偷闲的时候,有一好友又来问我关于Git的命令问题。(为啥是又,由于关于这个问题,他至少问了我三四五六遍了……每次讲完,过段时间一定忘!!!也不知脑回路是咋整的???)
为了让他这个常常记不住的童鞋不要每次都来问我相同的问题,我决定把他能用到的命令,都列出来,做用也标明。
童鞋,下次本身来看文章啊~~~
No.1 克隆远程仓库git

git clone 远程仓库名 例如:https://gitee.com/****/****

No.2 查看远程分支app

git branch -a

图片描述

注:当前分支 仅有master一个远程分支
No.3 建立本地分支test,环境切换为test分支并推送至远程(此时test的全部内容均为master内容,也就是说,test分支是基于master的新的分支)spa

git checkout -b test
// 此时在文件夹中增长一个readme.txt文件(也就是说,test分支内容已更改)
// 将test分支推送至远程
git add .
git commit -m "add readme.txt"
git push --set-upstream origin test
// 仅有第一次推送至远程时须要以上的push命令 
// 在test分支以后更改内容推送至远程时 均使用git push便可

图片描述

No.4 多人协同开发过程当中,出现场景为,同窗A 在分支dev上开发,同窗B在test上开发。此时同窗B须要基于同窗A的内容,开发新需求。操做步骤应为:将本身本地test分支推送至远程,确认无误后,切换为同窗A的dev分支,同时基于dev分支建立新分支名为feature-dev,而后在新的分支上进行开发code

// 先拉取最新内容
git pull
// 切换至dev分支 
git checkout dev
// 查看当前所在分支
git branch -a
// 新建并切换至分支 feature-dev
git checkout -b feature-dev
// 此时再次查看当前所在分支
git branch -a
// 当前所在分支为feature-dev 进行一些内容操做 例如:增长两张图片
git add .
git commit -m "add photo"
git push --set-upstream origin feature-dev
// 此时已经将feature-dev分支推送至远程 
// 接下来再修改内容须要add、commit、push便可

图片描述

No.5 如今状况是,我须要在同窗A的dev分支上去合并个人feature-dev的东西,也就是说,我须要把我更改的内容,合并到人家dev的分支上。此时我应该作的是:git pull 先获取最新内容,而后切换至dev分支,而后合并我更改的内容blog

// 拉取最新 切换至dev

git pull 
git checkout dev
// 此时在dev分支,准备合并feature-dev的内容
git merge --squash feature-dev
// --squash 当在feature-dev分支上提交过不少回时,使用此命令能够将多条commit合并为一条
// 即为 多条合并 若是有错回退的时候也方便
// 若是有冲突,解决冲突,若是没有冲突便可提交
git add .
git commit -m "dev merge feature-dev"
git push
// 此时合并已完成

图片描述

No.6 嗯,我还没想到有啥经常使用的,有啥须要补充的随时补充吧~~~
补充1:这个补充来的有点快
No.7 同窗正在修改dev分支,而后呢,临时任务,须要修改分支master,此时怎么办呢?
此时有几种状况:
一、在当前dev分支,git add ,而后git commit 提交,可是不须要push到远程。此时切换至master,master并不会有dev分支的任何修改。
二、在当前dev分支,git add ,而后呢,不想commit,怎么办呢!!! 此时咱们能够git stash,此时呢,会把全部未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工做目录。而后咱们切换到master去改东西,改完后切回咱们的dev分支时,git stash apply,将咱们刚刚储藏的东西再拉回来,好了,继续改咱们dev的内容吧。
三、在当前dev分支,git add ,而后呢,不想commit,也不想stash,直接切换分支,此时魔鬼操做来了!!!你在dev的修改东西所有带进master,魔鬼操做,你只是想修改个master的东西,居然把你不想提交的东西也带过来了。魔鬼不!!!因此这种操做不可取,不可取,不可取!!!除非你确实想把dev的东西带到master。🙂图片

相关文章
相关标签/搜索