01- Git-basement
-
环境安装,官网下载;
-
新建一个仓库:GitResp(放在了d盘下的git-tool中)
-
设置签名:用户名,邮箱;
git config --global user.name "jasonch"
git config --global user.email "253xxx4421@qq.com"
-
本地仓库的初始化;
git init
- 这里,
.git
文件默认隐藏;
-
提交到本地库的文件:
-
-
新增一个未上传的:
-
git status
查看状态:是否有文件未commit;
git add
命令之后:
现在修改second文件内容,在status命令查看:
总之:
包括:
- 工作区 创建的项目的本地目录
- 暂存区 git追踪到项目的存在,git add
- 本地库 commit 提交后;
- 远程库 推送
常用命令:
- git config --global user.name
- git config --global user.email
- 查看:git config --global -l
- git init
- git status
- git add
- git commit -m “log” : 提交形成历史版本;
- git reflog : 历史记录
- git reset --hard : 版本穿梭
02- experiment
ll:查看文件;cat?
to vim-running;
e.g. : vim forjava.java
试着在命令行中通过vim编辑器,
查看情况
提交后,注意LF 被 CRLF 替代的警告,这个是换行符被替换,因为,Windows和Linux的换行符并不一样;
查看:末尾多少行命令:
删除暂存区的文件:
出现:
查看版本及详细(加上用户)版本
-
git reflog
-
git log( 详细 )
版本穿梭
03- git 分支
官方:
在版本控制中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会还会影响主线分支的和运行。对于初学者而言,分支可以简单的理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)
命令名称 | 作用 |
---|---|
git branch | 创建分支 |
git branch -v | 查看分支 |
git chechout | 切换分支 |
git merge | 把置顶的分支合并到当前分支上 |
git branch -d < name > | |
git branch -D < name > |
测试创建热修分支:hot-fix
修改分支,切换分支
- git checkout 【hot-fix】;
”说白辽,玩的还是指针“
切换回master,发现修改的内容不见了;
合并分支?
在某个对象上合并某个分支;如:master上合并,hot-fix;
hot-fix上修改的内容合并到了master中;
冲突合并?
同时修改了两个分支的同一file再合并的时候冲突;
merging:
点开冲突文件:
修改一哈,就可以合并了;
也可以再区看看hot-fix中,
04- 团队
代码托管中心
远程库:push入库,clone克隆到本地库又可再push(项目团队需要认可才能push);团队再pull( 拉取 )更新本地库;
那,跨团队呢?
团队1 – fork --> 团队2 --clone --> 团队2本地库–> 请求团队1(request)—> 团队1 审核;
注意,都是在本地进行的版本控制;
05- 创建远程库,GitHub:
一般远程库名字和本地库一样;
create new repository:
得到 https:url:https://github.com/jason837/GitRepository.git
ssh
可以看出,连接很长对吧,当然:可以创建别名:
查看别名:git remote -v:现在git里面还没有别名;
起别名:
git remote add theAnotherName < git-url >;
推送本地库到远程库:
git push 别名 分支( 重点 ), github,可能需要重复几次操作才能成功;
去查看 github:
更新本地库的代码:获取远程库data
在远程库创建文件:
更新拉取pull 到本地库:git pull < name > master
GIt clone < Git-url >;克隆
》克隆操作:1.拉取代码,2.初始化本地库,3,创建url别名;
06- 团队间,团队内,push与pull,fork等;
07- ssh免密登录
08- idea 使用git
settings
创建:
其中,拉取pull,和上传push的时候可能会遇到:
之一的问题:的解决思路:
在idea中:
idea提交push的错误之:
解决:
修改配置当前库的git中的config:
push成功;
另外特别注意 gitee 和Github 的push:
切换checkout版本:一目了然
那,idea中如何使用分支呢
回忆,git branch -v & git branch < name >;
在idea中:
右下角:
合并分支:
-
正常
-
-
冲突
-
-
解决:手动合并(和命令模式基本类似)更方便:
-
总结:
push之前需要先拉pull一下,保证版本最新;
- 两个不同的仓库合并解决:
git pull origin master --allow-unrelated-histories
- 具体了解:
- (51条消息) 记Git报错-refusing to merge unrelated histories_夏虫不可语冰-CSDN博客
ps,由于文章markdown 截图都是文件绝对路径,导致上传到博客后一张一张的图片有些模糊