01.下载地址:
git客户端:https://git-scm.com/downloads
git图形界面:依赖于客户端https://tortoisegit.org/download/
02.全局配置:
git config --global user.name "用户名"
git config --global user.email "邮箱"
git config --global gui.encoding utf-8 (设置 gui 客户端使用的编码格式)
git config --global i18n.commitEncoding utf-8 (设置提交时注释内容使用的编码格式)
git config --global i18n.logOutputEncoding utf-8 (设置展示注释内容使用的编码格式)
git config --list 检查配置
git config <key> eg:user.name 检查某项配置
--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址.
03.git init
初始化版本库
04.添加命令:
git add 带后缀的文件名
git add *.java 模糊添加
git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过
git add -A .来一次添加所有改变的文件。
注意 -A 选项后面还有一个句点。
git add -A 表示添加所有内容,
git add . 表示添加新文件和编辑过的文件不包括删除的文件;
git add -u 表示添加编辑或者删除的文件,不包括新添加的文件。
05.提交
git commit -m "注释"
06.添加到连接远程地址
git remote add origin 远程地址(需要先在远程建立项目)
07.更改连接远程地址
git remote -v 查看远程地址
git remote rm origin
git remote add origin 远程地址
08.提交到远程服务器
第一次提交:git push -u origin master 第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
非首次提交:git push origin master
git push 远程地址 <branch_name>
09.查看提交记录
git log
10.拉取服务器代码:
git fetch 远程地址 <branch_name>
git status //红色表示修改过
git diff 修改过的文件名 //
git commit -m '合并后提交'
git pull 远程地址 <branch_name>
注意:git fetch 用于拉取远程内容到本地。 git status 用于检查当前文件状态。 <branch> 用于指定分支名称,默认从 master 拉取内容。
如果没有文件冲突,执行 pull 操作会先把远程仓库中的内容拉取下来,然后自动执行合并,之后再自动 commit 一条注释类似于 Merge branch 'master' of xxxxx 的记录。 如果有文件冲突,执行 pull 命令相当于 fetch ,并不会自动合并,也不会自动提交。
11.远程下载
git clone 远程地址
12其它
01)查看分支
git fetch 同步分支
git branch (查看当前分支)
git branch -r (查看远程分支)
git branch -a (查看所有分支)
02)创建分支
git branch <branch_name>
03)切换分支 切换到指定分支
git checkout <branch_name>
04)撤销对文件的修改
git checkout -- <file_name>
git checkout -- file 命令中的 -- 很重要,没有 --,就变成了"切换到另一个分支"的命令。
05)版本回退
git reset --hard HEAD^ //回退到上1个版本
git reset --hard HEAD^^ //回退到上2个版本
git reset --hard HEAD~100//回退到上100个版本
06)撤销版本回退
git reset --hard <commit_id> //回退到指定版本 id通过 git log查看,id只写前面几个字符串就行,
git reflog //记录你的每一次命令,可通过返回的id,来做撤销回退工作.
07)查看当前目录下文本内容
cat 文件名
08)查看远程仓库地址
git remote -v
09)大杀器 --help 命令行模式下有什么不懂不会不确定的命令,都可以使用 --help 选项来获取帮助。
git --help
git branch --help
git commit --help
13.备注
开发整体流程:
01).feature 每个成员负责对应的分支,开发完后合并到developer,等所有分支都合并到developer后,开始测试
02).developer 开发完所有分支后合并到developer,开始测试
03).releate 测试完成后合并到release,然后打对应版本tag包(备份当前版本)
04).tag 通过release打tag,备份下版本
05).master 打完tag包后合并到master
06).bugfix 从master合并来一份代码,修改bug,重复1---5;
注意合并代码永远是合并远程代码,合并完成后再推送到远程服务器
如果分支间想互相调用代码,可通过分支间相互合并解决,一般不建议向下合并(比如从developer合并到feature)