Git是什么
Git是一个分布式版本控制工具。
使用Git需要了解以下几个概念
- 工作区:存放代码的位置,文件颜色为红色。
- 暂存区:临时存储,工作区的代码使用git add 文件名功能之后就会保存到暂存区,文件颜色为绿色。
- 本地库:历史存储,暂存区的代码使用git commit命令之后会保存到本地库中。
- 远程库:代码托管中心,团队合作时共同维护的主代码库,团队成员使用git pull命令从远程库中拉取到本地库,本地库中当前指针指向的版本使用git push命令提交到远程库
Git的配置
git config --global.user.name 用户名 #提交本地库的签名
git config --global.user.email 邮箱 #提交本地库的签名
Git常用命令
git init # 初始化本地库,会生成一个.git隐藏文件夹
git status # 查看当前本地库状态
git add # 添加到暂存区
git rm --cached xxx # 删除暂存区的文件
git commit -m "日志信息" 文件名 # 提交到本地库
git reflog # 查看本地库历史记录
git log # 查看详细记录
git reset --hard 版本号 # 切换本地库版本,版本号使用git reflog查看
切换版本的原理
工作区的 .git下有一个HEAD文件,指向当前使用的分支,refs下各分支对应的文件上显示对应的本地库当前版本号
分支
版本控制的过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作主线从开发中分离开来,开发自己分支的时候,不会影响主线分支的运行。
- 查看分支
git branch -v
- 创建分支
git branch "分支名"
- 切换分支
git checkout "分支名"
- 合并分支
git merge "要合并的分支" # 把要合并的分支合并到当前分支
由于使用了分支,可能两个程序员修改了同一个地方,这样的话,合并的时候,git就不知道保存哪个程序员的版本,这就是合并冲突。解决冲突的方法,就是先使用合并的命令,发现冲突的文件,修改冲突的文件,然后使用git add和git commit命令将冲突文件保存到本地库中。
跨团队合作
有时开源项目将代码公布到github上,我们自己有好的修改意见,我们可以将开源项目fork到我们仓库中,修改完之后,使用create pull requests功能推送修改的建议,项目的管理者可以使用merge requests将修改合并到自己的项目中。
IDEA集成Git
- 创建分支
打开git窗口,点击branches,点击New Branch,填写分支信息,即可完成分支的创建 - 合并分支,切换到当前分支,点击右下角当前分支,点击merge int current,如果合并有冲突,idea会弹出一个窗口提升我们解决冲突。