Git
版本控制系统
- 集中式:CVS, SVN
- 分布式:Git
命令
# 设置命令
git config --list
# 设置用户身份(姓名,邮箱)
git config --global user.name "wangsen"
git config --global user.eamil "wangsen127@163.com"
#初始化本地仓库
git init
#将文件添加到暂存区
#git add 文件/git add .
git add HelloWorld.java
#提交
#git commit -m "注释内容:描述此次提交的内容"
git commit -m "添加HelloWorld文件"
#查看状态
git status
git status -s
#查看日志
git log
git log --oneline
#版本切换
#HEAD是一个指针,指向一个分支
#git reset --hard 版本号
git reset --hard f754c1a
#删除文件
#git rm 文件名称 = 本地删除 + git add
git rm delete.txt
#检出:从本地库检出到工作区
#git checkout -- 文件名称
git checkout -- HelloWorld.java
#从暂存区撤销
#git restore --staged 文件名称
git restore --staged notcommit.txt
#比较文件差异:比较工作区与本地库中存储的文件内容差异
#git diff 文件名称
git diff HelloWorld.java
#分支
#创建分支
#git branch 分支名
git branch dev
#查看分支
git branch
git branch -v
#切换分支
#git checkout 分支名
git checkout dev
#分支合并
#git merge 被合并分支名
#master需要合并dev分支内容,首先切换到master分支,执行以下命令
git merge dev
#git远程仓库:github, gitlab, gitee
# 配置远程仓库地址
#查看现有的远程仓库
git remote
#添加远程仓库地址到本地仓库中
#git remote add 仓库地址名称(仓库地址的标识) 仓库地址
#删除本地仓库中远程仓库地址
#git remote remove 仓库地址名称
#将本地仓库推动到远程仓库中
#git push 仓库地址名称 分支名
#克隆项目:将远程仓库拉取到本地
#git clone 远程仓库地址
#从远程仓库拉取下来的项目,远程仓库地址名称默认为origin
#从远程仓库中拉取新的文件
#git pull 仓库地址名称 分支名
避免文件冲突
张三 本地文件 springmvc.xml 版本号为1 --> 版本号为2(远程库与本地保持一致)
李四 本地文件 springmvc.xml 版本号为1–>版本号为3(没有向远程库推送)
-
自己负责的文件:自己编辑自己的文件,不要去修改别人的文件。
-
公共文件:通知团队,在修改公共配置或文件之前,先进行pull操作,然后提交commit,推送push
解决文件冲突
- 将修改文件备份一份
- 将文件回退与上一个版本一致的状态
- 拉取新的代码
- 在新的文件中添加自己的修改
- 提交,推送
- (idea使用git插件提交文件时会自动校验文件与拉取该文件时状态是否一致
)