GIT操作流程

199 阅读5分钟

GIT操作流程

前言

因为工作需要用到git,但是涉及到多仓库或者多分支情况有些指令并不一定都能经常用到,所以记录一下,随时查漏补缺

操作流程

第一步 git init 创建本地仓库

安装之类的暂且不表,后期可能会添加到这个文章内部 首先应该是 git init ,这一步是在本地初始化一个 Git 仓库来进行操作,公司项目一般来说会根据不同项目新建不同仓库,所以最好来说针对每个项目都在本地新建一个同步的本地仓库会更好,也避免了一直切换仓库的麻烦,方法就是

  • git init

第二步 git clone 克隆远程仓库项目到本地

这个我一般习惯当做第二步,因为本地创建出项目之后,直接克隆线上仓库一般方法是

  • git clone xxx.git

但是这样的话是直接克隆默认分支的项目,一般来说是master ,假如需要克隆其他分支的话则是

  • git clone xxx.git -b xxx

这里的 -b 是简写 意思是 branch 后面的 xxx 代表的是分支,看你需要切换到什么分支上

第三步 git remote 将本地仓库和远程仓库进行关联

将本地仓库和远程仓库进行关系绑定和解绑等操作

  • git remote add origin xxx.git 将本地库和远程版本库进行关联
  • git remote rm 删除本地库和远程版本库的关联
  • git remote -v 用于查看当前绑定了哪个远程版本库

这个一步需要有一个远程版本库和一个本地库才可以进行

第四步 git checkout 创建本地分支

由于项目中的 master 分支一般都是上线正式的仓库分支,很少调用,所以经常需要新增分支操作,一般来说个人会额外增加一个 dev 分支,但是一般来说需要根据网上仓库分支来进行增加

  • git checkout -b xxx 在本地新增分支

第五步 git pull 从远程仓库拉取项目

git pull 这个指令很多操作都会在 git push 之后,但是在现阶段来说我会放的高一些,因为 git clone 之后一般都会在 master分支上,个人习惯使用 git pull 进行修改分支操作

  • git pull origin xxx 这就是为什么需要先将本地仓库和远程仓库进行关联的原因,因为这里只有关联上了才可以使用 origin,不然的话就需要输入远程仓库的地址
    这里的 origin 使我们远程仓库的命名,可以修改,但是一般都是 origin

完整格式会相对于更加复杂,如下所示:

  • git pull <远程主机名> <远程分支名>:<本地分支名>

比如要获取 origin 主机下的 dev 分支,和本地的 master 分支合并的话,如下所示:

  • git pull origin dev:master

但是假如只是将远程分支和当前分支进行合并,则冒号后的部分可以省略,如下所示:

  • git pull origin dev

第六步 git add 本地分支改动后需要提交更改后的代码

git add 可以说是必用的,只要你要将改动提交就需要用到,一般来说常用的是下面两个

  • git add . 把当前目录下的所有文件改动都添加到暂存区
  • git add -A 把当前仓库内所有文件改动都添加到暂存区

第七步 git commit 文件添加到暂存区时执行的操作

通常情况下常用的指令为

  • git commit -m 'message' 后面的 message 是你这次递交的说明,个人常用会输入递交人,递交时间和递交内容这三样,都是自己书写的,内容随意

第八步 git push 将暂存区的文件推送到远程仓库

这个命令是我们要把暂存区的文件推送到远程仓库所需的命令,格式和 git pull 类似

  • git push <远程主机名> <本地分支名>:<远程分支名>

注意:分支推送顺序的写法是 <来源地>:<目的地>, 所以 git pull 是 <远程分支>:<本地分支>,而 git push 则是 <本地分支>:<远程分支>

如果省略远程分支名,则表示将本地分支推送到与其存在 “追踪关系” 的远程分支,如果该远程分支不存在,则会被新建。如下所示:

  • git push origin master

上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。

如果当前分支和远程分支存在追踪关系,那么本地分支和远程分支都可以省略,如下所示:

  • git push origin

上面的命令表示将当前分支推送到 origin 主机的对应分支。
如果当前分支只有一个追踪分支,那么主机名也可以省略,如下所示

  • git push

还有一种情况,就是将本地所有分支都推送到远程主机,如下所示:

  • git push --all origin 上面的命令表示将所有本地分支都推送到 origin 主机

如果远程主机的版本比本地版本更新,推送时 git 会报错,要求现在本地 git pull 合并差异,然后再推送到远程主机,如果一定要推送的话可以使用 --force 选项。

  • git push --force origin

上面的命令使用了 --force 选项, 结果导致远程主机上更新的版本被覆盖,所以除非极度确定这么做,不然应该尽量避免 --force 选项

第九步 git rm 删除远程仓库指令

这个指令用于假如我们将私有文件或者不需要的文件递交到了远程仓库的话,就比如 npm install 之后我们的 node_modules 文件夹就不需要同步到远程仓库,但是假如同步上去了,那就需要使用 git rm 来进行删除,常用指令如下:

  • git rm xxx 执行这个命令就代表我们需要删除什么文件,后面的 xxx 是文件名字,文件什么名字就输入什么
  • git rm -r xxx 如果我们删除的是一整个目录,那么就需要加上 -r 参数

先写这几个吧,后面再依次添加修改