团队使用git方法简明教程

前言

学习团队使用需要先学习如何个人使用git来管理自己的项目,如何使用git来管理自己的独立项目可以查看我之前的文章
个人使用git方法简明教程

本篇文章使用git bash作为说明工具。是为了让读者能够更好的了解git的原理(作为程序员来说了解原理比仅仅知道如何使用可能更加简单入门)。对于git原理方便以后我会专门开一篇文章介绍更加深入的内容这里不做累述

使用

一般操作流程

初次使用

1
2
3
4
5
#已有在远程仓库有项目
$ git clone [项目地址]

#本地新建项目
$ git init

平时代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#开始写项目前,拉取远程git仓库代码保证不会出现大的错误
$ git pull

#写完部分代码(即完成一阶段任务或者功能)
#一般推荐阶段划分小而多的原则
$ git status #查看变动
$ git add . #添加所有改动到准备提交队列,符号.代表所有文件
##如果仅想要单个文件或者单个文件夹下所有改动可以使用命令 git add [文件完整地址/文件夹地址]

#提交修改
$ git commit
##注意这里会弹出一个命令行编辑框,默认是使用nano,建议修改默认的命令行编辑器为vim
:wq 结束编辑
#简洁提交
$ git commit -m [message]#平时更贱推荐的方法,不方便做出比较复杂的格式只能一行,不允许有空格,换行使用\n转义字符
user
#将代码提交到远程
$ git push
#如果出现文件冲突,会导致push被拒绝。解决方案是git pull远程代码后检查冲突文件并手动解决,然后再走一遍add —> commit —> push

简单的说流程就是pull —> add —> commit —> push

特殊远程
我们在pull和push的时候可以通过在后面添加远程仓库地址 分支名的方式管理pull和push的来源。默认的远程仓库名为origin

分支管理
首先了解几个常用命令:

  • git branch 查看分支,带*号的是当前分支
  • git branch [分支名] 创建一个分支
  • git branch -d [分支名] 删除一个分支
  • git checkout [文件名或文件夹路径] 检出本地库中最新的文件(一般用于撤销文件的修改)
  • git checkout [分支名] 切换到某个分支
  • git checkout -b [分支名] 创建并切换分支
  • git merge [分支名] 将该分支合并到当前分支

操作流程:创建分支 —> 进行改动 —> 完成改动 —> 合并到主分支 —> 如有冲突手动处理冲突 —> 删除开发分支
example:

1
2
3
4
5
6
7
8
9
10
11
12
#创建分支并切换到该分支
$ git branch dev
$ git checkout dev

$ git checkout -b dev

#change file

#融合分支到主分支并删除开发分支
$ git checkout master
$ git merge dev
$ git branch -d dev

暂存工作
很多时候会遇见这样一个问题:我现在在一个独立的分支工作。而另一个分支出现了一个bug需要的紧急修改并提交,而我手头的工作还没完成一阶段内容(即无法提交一个新的commit),那么我们要如何临时保存自己的进度去切换到出现问题的分支呢?git给我们提供了一个非常实用的工具:git stash
用法很简单,简单使用只要记住两个命令即可:

  • git stash 暂存当前工作
  • git statsh pop 还原最近一次的暂存工作
    同时我们可以使用git stash list方法查看git栈中有几个工作节点

不建议在git栈中保存多个节点容易导致混乱


知道以上几点即可简单方便的使用git工具进行团队开发了。

使用GUI进行git管理

在个人版已经推荐过了github的git客户端,但是在团队协作,特别是多人单分支团队协作中优势很不明显,无法很直观的看见各个协作者的提交情况。这里推荐另一款git图形化界面客户端:

gitg
GitKraken
PS:GitKraken默认会自动设置所有项目的作者信息为统一。多身份项目的用户需要注意一下

文章目录
  1. 1. 前言
  2. 2. 使用
    1. 2.1. 一般操作流程
  3. 3. 使用GUI进行git管理