git的下载安装及基本的环境配置在此不做赘述,自行百度即可,下文的操作均建立在环境配置完成的情况下。
1、克隆代码
#操作命令
git clone -b <分支名仓库地址>
如:git clone -b v2.8.1 https://git.xxxx.net/xxxx/xxx-xx.git
-b表示要从分支下载,v2.8.1就是具体的某个分支的名称,https://git.xxxx.net/xxxx/xxx-xx.git这是工程源码的git仓库地址。
2、拉取、提交代码
#每次提交代码前务必先拉取最新代码,如有冲突先解决冲突问题。master代表拉取的是master分支。
1、git pull origin master
#将本地修改的所有文件添加到暂存区
2、git add .
#引号中填写本次提交内容的介绍,便于日后查看。此操作是将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中
3、git commit -m ""
#将代码推送至远程服务器。master代表提交到master分支。
4、git push origin master
git add 就好比如您去超市购物,用购物车装了一大车的商品(类似于修改过的文件),然后去收银台结账,由于您一次性挑选的商品比较多,你有可能要犹豫一下到底要不要全部买下来;这时候,你可以一件件的将商品拿到收银员那里去扫码计价结算(类似与 git add fileA, git add fileB…,即添加指定某些文件),也可以财大气粗的全部买下(类似于git add ./,即添加所有文件),接下来就是买单并拿回家(git commit 和 git push)。
3、代码冲突解决
产生:多个开发者同时使用或者操作git中的同一个文件,最后在依次提交commit和推送push的时候,第一个操作的是可以正常提交的,而之后的开发者想要执行pull(拉取)和push(推送)操作的时候,就会报冲突异常conflict。
下面介绍一种个人比较常用解决冲突的方法
git stash //暂存当前正在进行的工作。
git pull origin master //拉取服务器的代码
git stash pop //合并暂存的代码
git diff //查看此文件看看自动合并的情况,并作出相应修改
最好的解决冲突方式应该为:
1、每日按时拉取和提交代码,避免大范围的冲突。
2、避免多个开发人员同时参与一个文件的编写。
3、开发人员的公共文件的修改应交予专人维护,如java的yml配置文件和vue的路由文件等。
4、忽略指定文件
在仓库目录下新建一个名为.gitignore的文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件)。
下面给出一个java开发的通用.gitignore文件模板,仅供参考。
#java
*.class
#package file
*.war
*.ear
*.zip
*.tar.gz
*.rar
#maven ignore
target/
build/
#eclipse ignore
.settings/
.project
.classpatch
#Intellij idea
.idea/
/idea/
*.ipr
*.iml
*.iws
# temp file
*.log
*.cache
*.diff
*.patch
*.tmp
# system ignore
.DS_Store
Thumbs.db
5、git分支管理
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>或者git switch <name>
创建+切换分支:git checkout -b <name>或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>