Git
git操作
常用命令
命令名称 | |
---|---|
git config --global user.name 用户名 | 设置用户签名 |
git config --gloabl user.email 邮箱 | 设置用户签名 |
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git commit -m"日志信息" | 提交到本地库 |
git reflog | 查看历史记录 |
git reset --hard 版本号 | 版本穿梭 |
说明:
签名的作用是区分不同操作者身份,用户的签名信息在每一个版本的提交信息中能够看到(C\User\Admin下的.gitconf文件)
git init
初始化本地库
git status
查看本地库状态
git add
添加到暂存区,是可以删除的(git rm --cached )
git commit
提交本地库
历史版本
查看历史版本
git reflog
查看日志信息
查看的版本号是前七位
git log
查看详细日志
版本号是全的
版本穿梭
git reset --hard 版本号
分支
同时并行推进多个功能开发,提高开发效率
各个分支在开发过程中,如果一个分支开发失败,不会对其他分支有任何影响,失败了删除分支即可
分支的操作
命令名称 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定的分支合并到当前分支上 |
合并分支(正常合并)
切换到原项目分支下,执行git merge 分支名,写上想要合并进来的分支名
合并分支(冲突合并)
产生原因:
合并分支时,两个分支在同一个文件的同一个位置存在两套完全不同的修改,Git无法决定使用哪一个,必须人为决定新代码内容
操作:
打开vim编辑文件,人为决定保留或删除
注:产生冲突的地方,会有<<<<<head括起来,在<<<<<head和=======之间是当前所处分支修改的部分,后面是其他分支修改的部分
执行git add命令
执行git commit -m时,不能加文件名,因为本身两个文件都进行了修改,加上文件名会报错
注:合并分支只会修改所在的分支内容,合并进来的分支不会有变化
团队协作机制
团队内协作
跨团队协作
github操作
远程库操作
命令名称 | 作用 |
---|---|
git remote -v | 查看当前所有远程地址别名 |
git remote add 别名 远程地址 | 起别名 |
git push 别名 分支 | 推送本地分支上的内容到远程仓库 |
git clone 远程地址 | 将远程仓库的内容克隆到本地 |
git pull 远程库地址别名 远程分支名 | 将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并 |
创建远程库
github的new repo
创建远程库别名
git remote -v 查看当前所有远程地址别名
git remote add 别名 远程地址
推送本地库
git push 别名 分支
克隆远程仓库
git clone 远程地址
团队协作
在自己的项目中允许别人加入操作:
1.点击自己项目
2.点击设置
3.
4.搜索想邀请的人的名称(自己学习的时候,创建了两个号~
5.复制Pending Invite信息发送给被邀请者
6.被邀请者浏览器打开链接
跨团队协作
fork别人的项目到自己的github中
我已经fork完了
可以在线更改代码,也可以在本地进行代码修改
切换回Zcutie(原来的账号
完成后返回自己的仓库查看代码,已经合并成功
SSH免密登录
在C:\Users\XXX(XXX是当前电脑的登陆账户),查看.ssh文件夹(打开查看中的隐藏文件选项)
如果没有可以生成
直接在c盘中右击打开git bash,输入
ssh-keygen -t rsa -C "email.com" //输入自己的github注册的邮箱
再打开C:\Users\XXX下的.ssh文件夹,复制id_rsa.pub的内容,到github的设置中进行添加
Idea集成git
配置git忽略文件
为什么要忽略它们?
因为与项目的实际功能无关,不参与服务器上部署运行,把它们忽略掉能够屏蔽IDE工具之间的差异
怎么忽略?(不适用,建议跳过)
1).创建忽略规则文件xxx.ignore(xxx为任何东西,建议为git.ignore)
这个文集的存放位置原则上在哪里都可以,为了便于让~/.gitconfig文件引用,建议放在用户家目录下
文件模板内容:
#Compiled class file
*.class
#Log file
*.log
#Rlue files
*.ctxt
#Mobile Tools for Java(J2ME)
.mtj.tmp/
#Package Files
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
#virtual machine crash logs,https://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid
.classpath
.project
.settings
target
.idea
*.iml
2).在.gitconfig文件中引用忽略配置文件(不适用,建议跳过,我创建了,后续在idea中定位git时会出错,所以我删除了,因为在idea2022版本中可以生成)
格式:
[core]
excludesfile=C:/Users/46089/git.ignore
注:使用正斜线,不是反斜线
2022版本操作(创建git忽略文件)
打开IDEA->Plugins,搜索ignore插件,安装后重启IDEA
打开项目,新建.gitignore文件,选择默认模板,再将上面的模板复制粘贴,有同样的就删除
定位git程序
打开idea新建项目,在文件选项中打开settings,选择version control的git,选择自己安装的git文件目录(bin目录下的git.exe)
初始化
原来的操作
使用IDEA打开项目,选择VCS->Import into Version Control->Create Git Repository
2022版本操作
使用IDEA打开项目,选择VCS->Create Git Repository
添加
项目中标红的文件是未被git追踪的文件
选中文件,右击,选择git->add,文件变为绿色,已添加至暂存区
说明
目前还没使用到IDEA,后续再继续吧
gitee操作
和github一样,国内的github