Git的使用
Git结构
工作区–git add—>暂存区–git commit—>本地库–push—>远程库B`程序员`–pull\clone—>本地库
远程库A`项目经理`–fork—>远程库B`程序员`–pull request>审核>merge—>远程库A`项目经理`–pull—>本地库–push—>远程库A`项目经理`
在代码托管中心创建远程库:GitHub
初始化本地仓库
-
创建一个文件夹
记录其路径为filePath
-
打开Git终端
在Git中命令跟Linux命令一样
- Git –version–>查看Git版本
- clear–>清屏
- Git config –global user.name”userName”–>设置用户名
- Git config –global user.email “emailAddresss”–>设置邮箱
- 初始化仓库
- cd filePath–>进入仓库的根目录
- Git init–>初始化操作
Git常用命令
上传文件
-
add–》将文件提交到暂存区
-
Git add 'fileName'
-
git rm --cache fileName
移除暂存区文件
-
-
commit–》将暂存区内容提交到本地库
-
Git commit -m
“这是注释” ‘fileName’
-
-
不放在本地仓库中的文件,Git是不进行管理
即使放在本地仓库中的文件,Git也不进行管理,必须通过add,commit命令提交得到本地库
查看提交状态
status命令—》查看文件是否已提交
-
全部提交
-
有文件未提交
-
已提交的文件修改后,需重新添加到暂存区
-
提交完后
查看日志
log命令–》查看文件上传日志
其从进到远开始展示
当历史记录过多的时候,查看日志的时候有分页的效果
下一页:点击空格
上一页:点击B键
尾页退出:点击Q键
日志展示其他方式
-
Git log — > pretty=oneline
-
Git log –oneline
-
Git reflog
前进或后退版本
reset命令–》回退或前进版本
-
Git reset –hard “索引号”(常用)
本地库的指针移动的同时,重置暂存区,重置工作区
-
Git reset –mixed “索引号”
本地库的指针移动的同时,重置暂存区,但是工作区不动
-
Git reset –soft “索引号”
本地库移动是时候,暂存区和工作区都不动
比对文件的差异
diff–》比对暂存区和工作区内容的差异
- Git diff “fileName”
-
代表删除一行,+
代表添加一行
-
Git diff # 比较工作区和暂存区中所有文件的差异
-
Git diff {指针位置|索引号} “fileName”
分支
概念:在版本控制过程中,使用多条线同时推进多个任务。这里说的多条线,就是多个分支。
好处:同时多个分支可以并行开发,互相不耽误,互相不影响,提高开发效率;如果有分支功能开发失败,直接删除这个分支就可以了,不会对其他分支造成影响。
查看分支
-
Git branch -v
创建分支
- Git branch “branchName”
你在哪个分支上是通过
*
号来显示
切换分支
-
Git checkout “AimBranchName”
切换分支后其修改内容不与原分支同步
分支合并
merge命令–》分支合并
冲突问题
什么时候会出现冲突问题?在同一个文件的同一个位置修改
冲突后的内容为:
解决方法:
内部商议解决,或者自己决定,留下想要的内容,将留下的内容添加到暂存区:
远程协作
注册账号
GitHub注册GitHub账号
创建远程库
别名
远程库地址比较长,每次复制比较麻烦,一般通过别名连接
remote–》远程连接
查看别名
创建别名
删除别名
推送操作
push—》推送操作
克隆操作
clone–》克隆操作
克隆操作的好处
- 初始化本地库
- 将远程库内容完整的克隆到本地
- 替我们创建远程库的别名
拉取操作
pull–》拉取操作
相当于fetch操作和merge操作
先是抓取操作:
只是把文件抓取到本地,但是工作区并没有更新;可以先进入远程库,查看文件内容是否正确
然后进行合并
注意:要切换回本地库
pull操作直接下载:
![]()
冲突问题
在冲突的情况下,应该先拉取下来内容,然后再人工修改内容(该删的删,该留的留)
和上面的冲突问题的解决方式大致相同
跨团队合作
通过pull requests发送合并请求,同意后即可合并
SHH免密登录
-
进入用户的主目录中
cd ~
-
执行命令,生成一个.ssh主目录
ssh-keygen -t rsa -C 邮箱地址
keygen–> key generation
注意:C要大写
后面的邮箱,是GitHub注册的账号的时候对应的邮箱
三次默认回车确认就生成成功
然后就发现家目录里的.ssh下生成了三个文件
![]()
-
打开id_rsa.pub文件,将里面的内容进行复制操作
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCue6qIJ3RWmgcWVjFyZpzg0LA/Y8J1ZB5HCwtB/BA3LhJhdPiLOdpzlSMYNdXxhfTQ/yQH5Jd0UUe0hbtdrqxUQbrfrVzEkNNEslbZ831cnppUWp8nHul8RurE6yDXCN8r4VeR02k7Ad45OxYswwXMFZG4/MSGa6/EOhzdfjMR5ifMjuRTVcLvg78Xz2EipfrEYffhbDkTrKzLqet9uP4Sb5ur20yEuE5J7IVt6PrCvsXhoMyNhoqrsBtE8x5/AlEUd90vtzx0J0DKXsAtzuN4jXfR6fz1Xpu8O8A1JmD64e/6M1q7WkMwxziDGYii2EnzZ5K8iOMiSBW+FPAGK5SF5c2pXYm3whbBIGdkiEF82++Pn16zcjQ1mYSOvl9X0BX7LH1v744186pwNihdqJkwaRb8QZvtoE3KCl3c9Xv3w2IGQRejFaqGkr3Ena9PZ6XZp/+fpBsr+Xn39rDfSsu8CDXFk+EzJitCf3SklZyVn4n+FeMKD/lQf+Vpj9IM5js= [email protected]
-
打开GitHub账号,找到
在key那里把id_rsa.pub文件的内容进行粘贴
- 生成密钥以后,就可以正常进行push操作了
IDEA集成Git
设置
初始化操作
添加暂存区
添加到本地库
当更改内容后会显示绿色
拉取数据
git pull origin master --allow-unrelated-histories
注意origin是别名
上传操作
git push -u [email protected]:liuzhongkun1/GitResp.git master -f
IDEA上传