做实验一时只会基本的git使用,对git并不熟悉,因此进行学习。
1工作区:项目文件夹 2暂存区 3本地库 4远端仓库
git学习
#常用命令
git config --global user.name 用户名
git config --global user.email 邮箱
1.git init 初始化本地库
2.git status 查看本地库状态
3.git add 文件名 添加到暂存区
4.git commit -m "日志信息" 文件名 提交到本地库
git reflog 查看历史记录 git log 查看版本详细信息
git reset --hard 版本号 版本穿梭
签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的
分支
在版本控制过程中同时推进多个任务,创建每个任务的单独分支。使用分支程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。分支可以简单理解为副本,一个分支就是一个单独的副本(分支底层是指针的引用)
同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
分支的操作
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git checkout -b 分支名 新建一个分支并切换到这个分支
git merge 分支名 把指定的分支合并到当前分支上
产生冲突:后面状态为 MERGING (master|MERGING)
冲突产生的原因:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替我们决定使用哪一个,必须人为决定新代码内容。
解决冲突
1)编辑有冲突的文件,删除特殊符号,决定要使用的内容
特殊符号:<<<<<<< HEAD 当前分支的代码 === 合并过来的代码 >>>>>>> hot-fix
2)添加到暂存区
3)执行提交(注意:此时使用 git commit 命令时不能带文件名)
master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支由 HEAD决定的,创建分支的本质就是多创建一个指针。HEAD 如果指向 master,那么我们现在就在 master 分支上。HEAD 如果执向hotfix,那么我们现在就在 hotfix 分支上。切换分支的本质就是移动 HEAD 指针。
远程仓库操作
git remote -v 查看当前所有远程地址别名
git remote add 别名 远程地址 起别名
git push 别名 分支 推送本地分支上的内容到远程仓库
git clone 远程地址 将远程仓库的内容克隆到本地
git pull 远程库地址别名 远程分支名 将远程仓库对于分支最新内容拉下来后与
当前本地分支直接合并
跨团队协作
1)将远程仓库的地址复制发给邀请跨团队协作的人。
2)在 GitHub 账号里的地址栏复制收到的链接,然后点击 Fork将项目叉到自
己的本地仓库。
3)可以在线编辑fork过来的文件。
4)编辑完毕后,填写描述信息并点击左下角绿色按钮提交。
5)接下来点击Pull 请求,创建个新的请求。