1、git的安装(windows10)
- 网址:Git - Downloading Package
- 全部默认安装就好。
- 在任意文件夹中右击,列表中出现git即为安装成功。
2、git的基本配置
-
右击打开git bash
-
设置用户信息
git config --global user.name "username" git config --global user.email "1111@qq.com"
-
查看配置信息
git config --global user.name git config --global user.email
-
设置常用指令
1、创建文件(此处的用户目录为C盘下的用户) touch ~/.bashrc 2、在刚创建的文件中配置常用指令,例如: alias ll='ls -al' alias git-log='git log --pretty=oneline --all --graph --abbrev-commit' 3、执行指令 source ~/.bashrc
3、获取本地仓库
- 创建任意一个文件夹作为本次仓库(即为工作目录)
- 进入目录,右键打开git bash窗口(当前路径为当前文件夹)
- 执行命令git init
- 如果创建成功,即可在文件夹下看到隐藏的.git目录
4、基础操作指令

-
查看文件的状态(处于哪个环节):git status
-
工作区添加一个或多个文件的修改到暂存区:git add 单个文件名|通配符
-
暂存区提交内容到本地仓库的当前分支:git commit -m '注释内容'
-
查看提交日志:git log
-all 显示所有分支 --pretty=oneline 将提交信息显示为一行 --abbrev-commit 使得输出的commitld更简短 -graph 以图的形式显示
-
版本回退(commitID为git log中查询到的提交ID):git reset --hard commitID
-
查看已经删除的记录:git reflog
-
添加文件至忽略列表
1、在工作目录创建一个名为.gitignore的文件 touch .gitignore 2、添加要忽略的文件格式,如: *.a
5、分支
1、分支指令
-
查看本地分支:git branch
-
创建本地分支:git branch 分支名
-
切换分支:git checkout 分支名
-
创建并切换分支:git checkout -b 分支名
-
合并分支(合并到当前分支):git merge 分支名
当合并分支时,如果修改了同一文件的同一行,将产生冲突。 这时需要手动自动修改发生冲突的文件,进行保存提交(add+commit)。 如果只有分支进行了修改,当合并到master上时,会是快进模式,master直接指向最新。
-
删除分支(-D强制删除):git branch -d 分支名
2、开发中分支使用原则与流程

- master(生产)分支:线上分支,主分支,中小规模项目作为线上运行的应用对应的分支。
- develop(开发)分支:是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。
- feature/xxxx分支:从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支。
- hotfix/xxxx分支:从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、develop分支。
6、git远程仓库
目前使用git工作托管的平台有:github、码云、gitlab,此处使用码云。
1、向仓库推送代码文件
-
登录码云并进行注册:Gitee - 基于 Git 的代码托管和研发协作平台
-
创建仓库(创建后会出现仓库地址)。
-
为了后续向仓库推送,避免总输入账号密码,进行SSH公钥配置。
在git bash中操作: 1、生成SSH公钥:ssh-keygen -t rsa 2、获取公钥:cat ~/.ssh/id_rsa.pub 3、将公钥复制到码云平台:gitee平台点击设置-->安全设置-->SSH公钥 4、验证是否配置成功:ssh -T git@gitee.com
-
将本地仓库和远程仓库绑定
1、与远程库对接:git remote add <远端名称> <仓库路径> 例如:git remote add origin https://gitee.com/ljw99999/create_store_test.git 2、查看是否存在远程库:git remote
-
将本地文件推送到远程仓库
推送命令:git push [-f] [--set-upstream] <远端名称> <本地分支名>:<远端分支名> 例如:git push origin master:master(如果远端分支名和本地分支名系统,则可省略只写一个) -f:如果本地仓库和网络仓库有相同部分进行了修改,会发生冲突,使用-f进行强制覆盖 --set-upstream:将当前分支和远端分支进行关联,后续推送时可直接使用指令git push 显示本地分支和远端分支对应关系:git branch -vv
2、从仓库拉取代码文件
-
从远端仓库克隆到本地(本地目录省略,将自动生成一个):git clone <仓库路径SSH> [本地目录]
-
克隆后的更新
将远端仓库里修改拉到本地(不会合并):git fetch [remote name] [branch name] 将远端仓库的修改拉到本地(自动合并=fetch+merge):git pull [remote name] [branch name] 注:如果不指定,将抓取所有分支。