文章目录
一、git
版本管理工具
- 版本历史
- 分支
- 标签
- …
git服务器
- github
- gitee
- gitlab
二、分享代码到 git 仓库
eclipse
- 项目右键-team-sheare project
- 选择一个空的文件夹作为本地仓库
- 向本地仓库提交代码,项目右键-team-commit
- 把本地仓库推动到远程仓库
- 右键项目-team-push branch master
- 填远程仓库的路径
- 执行推送,推送时会要求填 gitee 的用户名密码
idea
-
创建本地仓库:
vcs - import into version control - create git repository
把项目的文件夹,直接创建成本地仓库
-
向本地仓库提交代码 ctrl+k
-
把本地仓库推动到远程仓库
- ctrl+shift+k
- 点 Define remote 定义远程仓库
- 填远程仓库的路径
- 推送时会要求填 gitee 的用户名密码
三、github 上传图解(IDEA)
前提:保证git已经安装好
(1)新建 “Project”,命名为 GitTest
(2)如图所示,找到对应的位置
(3)然后选择新建的工程
(4)在项目上面右键,Git点击add,然后再点击commit
(5)然后点击commit Directory
(6)出现如下界面,选中要提交的代码,填写提示信息,点击commit
(7)Git新建仓库:https://gitee.com/
(8)创建完成后,复制路径
(9)推送到远程仓库,快捷键 Ctrl+Shift+K
(10)点击ok。点击push,然后输入gitee的用户名和密码,推送成功如图所示!
四、其他信息
4.1 版本历史
eclipse
- 项目右键-team-show history
idea
- 左下角- git - log
4.2 拉取代码
eclipse
- 项目右键-team-pull
idea
- vsc - git - pull
4.3 克隆
把远程仓库,完整的克隆到本地,
创建一个本地仓库
eclipse
- 右上角,打开 git 界面布局
- 左侧窗口中直接粘贴远程仓库地址,开始克隆操作
- 选择本地目录作为本地仓库
- eclipse 克隆完成后,不会自动导入项目
idea
- vsc - git - clone
- 填远程仓库地址和一个新的本地仓库目录
- idea克隆后,开会直接导入这个新的工程
4.4 版本冲突
两个选择:
- 强制推送,用本地代码直接覆盖远程仓库的代码
- 先拉取,进行代码合并,合并后再推送
eclipse
- 右键项目-team-synchronize workspace
- 会切换到 synchronize 界面
- 比较本地和远程库的不同,会发现冲突的代码
- 在 synchronized 界面点击 pull 按钮,会拉取合并代码,然后手动调整代码
- 完成后再正常提交推送
idea
-
推送失败时按提示点 merge 合并,点合并后会自动执行pull拉取合并,
-
再选择 merge 执行代码合并操作,左侧是本地代码,右侧是远程代码,中间是合并的结果,手动将中间代码调整好,最后点右下角 apply完成,完成推送操作
4.5 分支
git中,要多使用分支,今早使用分支
4.5.1 新建分支
eclipse
- 右键项目 - team - switch to - new branch
idea
- 右键项目 - git - repostories - branches - new branch
新建的分支
4.5.2 切换分支
eclipse
- 右键项目 - team - switch to - 选择分支
idea
- 底部状态栏切换
4.5.3 合并分支
切换到master
右键项目 - team - merge - 选择要向master合并的分支
idea
- 切换到master
- 右键项目 - git - repositories - branches - 选择要向master合并的分支 - merge into current
五、发现优秀项目
-
在 git 服务器搜索
-
看活跃用户的收藏项目
https://github.com/benwang6?tab=stars -
网上推荐
https://github.com/521xueweihan/HelloGitHub -
面试题项目
https://github.com/xbox1994/Java-Interview
https://github.com/gzc426/Java-Interview
https://github.com/ZhongFuCheng3y/3y
https://github.com/Snailclimb/JavaGuide