GitHub Desktop基础操作
1. 操作仓库
1.1 创建本地仓库
选择上图中的第二个带+按钮或者从菜单File--new repository进入创建本地仓库页面: 创建local_test1本地仓库:
点击Create repository即可完成本地仓库创建,进入仓库管理页面:
1.2 移除仓库
点击不勾选,表示GitHub Desktop不再管理该仓库:
点击Remove即可移除local_test1本地仓库。
1.3 导入本地仓库
点击File--Add local repository,弹出选择本地文件夹路径地址: 选择之前的local_test1本地仓库,点击Add repository即可导入本地仓库
1.4 删除本地仓库
点击勾选,表示物理删除该仓库信息:
可以查看回收站,仓库文件夹已经在回收站了:
2. 文件操作
点击Show in Explort进入仓库文件目录下: 目录下的.git文件夹是git自己管理记录版本信息的,我们不能操作它。
2.1 新增文件
在local_test1文件夹下面新创建文件a.txt,并写入信息。返回GitHub Desktop软件中,会发现会自动识别新增了a.txt文件:
原因在于GitHub Desktop软件有文件比对的功能,底层会去读取.git文件夹,发现git本地仓库中没有该文件,值得一提的是此时a.txt文件还没有在git仓库中,我们要将a.txt文件纳入git的管理,需要手动提交: 整个操作流程:
2.3 更改文件
修改a.txt文件,返回GitHub Desktop软件中,会发现会自动识别更改了a.txt文件: 提交a.txt文件的修改,每次提交后git都会生成一个版本号,它是由40位16进制的编码组成:
多次提交的版本可以直接在History页面查看区别,可以看到每次提交的版本号:
整个流程如下:
2.4 删除文件
删除a.txt文件,返回GitHub Desktop软件中,会发现会自动识别删除了a.txt文件: 如果提交a.txt文件的修改,git中存的a.txt也会被删除同时变更版本号。
如果此时在重新创建a.txt文件,git会认为它是新增的文件:
整个操作流程:
3. 分支管理
不同的用户向git仓库提交文件,提交次数不同提交顺序也不同就显得比较乱,git提出分支的概念,各个用户维护自己的分支,可以理解为不同分支就是仓库的副本,此时仓库不止一个。这么多仓库最后会有个合并的操作,最终就有一个仓库是对应最开始的仓库。
创建一个local-test-branch仓库:
3.1 创建分支
假设有zhangsan、lisi、wangwu是项目成员,其中wangwu是管理员,具有管理权限,zhangsan和lisi分别开发user模块、order模块,wangwu给zhangsan和lisi创建user、order分支: 点击Current branch下拉框后,点击new branch按钮,弹出对话框:
填写分支名为:user,点击Create branch按钮:
填写分支名为:order,选择基于main分支创建,点击Create branch按钮:
再次点击Current branch下拉框,可以看见现在local-test-branch仓库一共拥有三个分支:
3.2 分支维护
假如现在zhangsan开发user分支,创建user.txt, lisi开发order分支,创建order.txt,并分别提交到各自的分支上。
- 点击user分支,GitHub Desktop软件自动切换从main分支切换到user分支:
- 点击Show in Explore按钮,在仓库目录中添加user.txt,并添加内容。
提交user.txt文件:
- 按照上述办法切换到order分支,创建order.txt文件并添加内容。
- 提交order.txt文件:
- 切换到main分支,点击Show in Explore按钮,可见既没有order.txt也没有user.txt:
- 合并user分支到main分支。点击Choose a branch to merge into main按钮:
- 在弹出框中,选项需要合并的分支:user分支,并点击Create a merge commit按钮:
- 点击合并后,提示合并成功:
- 再次点击Current branch下拉框,点击Choose a branch to merge into main按钮:
- 在弹出框中,选项需要合并的分支:order分支,并点击Create a merge commit按钮:
- 点击合并后,提示合并成功:
- 切换会main分支,查看文件目录,发现多了order.txt和user.txt文件:
- 整个流程如图所示:
4. 标签
我们提交代码的时候可以手动填写日志,可以清晰知道提交的代码的作用。但是git在合并的时候并没有文字信息说明,它是git自动完成的,我们没办法添加日志,但是可以添加标签,显示每次合并的作用。
在History页面中,选择Merge操作,然后鼠标右键选择Create Tag: 弹出设置tag的页面:
输入内容后,点击Create Tag按钮,即可看到当前Merge操作的日志信息:
5. 远程仓库
5.1 连接GitHub远程仓库
登录自己提前在GitHub上注册的账号 点击Publish可以将当前项目创建到GitHub上面。
点击Publish repository按钮,开始发布本地仓库文件到远程:
发布过程中,会有个等待过程:
访问github查看已经发布的仓库信息:
可以看到github上面已经保存了本地的local-test-branch仓库信息:
5.2 连接Gitee远程仓库
前面使用GitHub创建远程仓库,如果是远程仓库先于本地创建的话,那么开发之前需要先从远程仓库拉取代码然后再做开发。
登录Gitee网站,准备拉取代码: 比如我选择autumn-boot项目,它是spring-boot的简化版项目,点击克隆/下载按钮,得到项目具体地址信息:
打开Github Desktop软件,点击File--Clone repository菜单:
进入Url的tab页面,输入autumn-boot项目地址信息,点击clone按钮即可下载远程仓库到本地:
下载后添加README.md文件,点击Commit master:
点击推送到Gitee远程仓库:
访问Gitee网站,查看提交的文件:
6. README和Ignore操作
6.1 README文件
README文件一般出现在项目代码的根目录,作用是对项目内容的描述,方便开发者对项目的维护,快速了解项目信息,Git推荐开发者提供README文档。项目初始化的时候Github Desktop提示添加README文件:
6.2 Ignore文件
在Git中,.gitignore文件用于指定哪些文件或目录不应该被Git版本控制。这个文件非常重要,因为它可以帮助开发者避免将不必要的文件(例如临时文件、编译文件、敏感信息等)提交到Git仓库。提交代码的时候,鼠标右键弹出是否忽略文件菜单:
.gitignore文件对于常见的一些文件忽略配置如下:
# 忽略 Node.js 的依赖文件夹
node_modules/
# 忽略所有的日志文件
*.log
# 忽略编译后的文件
/dist
/build
/target
# 忽略 IDE 特定的文件
.vscode/
.idea/
提示
- .gitignore文件只对尚未被Git跟踪的文件有效。如果某个文件已经被添加到Git仓库中,要使其不再被跟踪,需要先将其从Git中移除。
- .gitignore文件本身是可以被版本控制的。可以将.gitignore文件提交到你的Git仓库,以便团队中的其他成员使用相同的忽略规则。