# GitEdu **Repository Path**: missper/GitEdu ## Basic Information - **Project Name**: GitEdu - **Description**: 学习 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-05-23 - **Last Updated**: 2023-12-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GitEdu(master) ## 常用Git命令 ### 将远程仓库克隆到本地 ```git git clone # 地址 ``` ### 提交更改 > 修改代码后,在仓库目录下执行下面命令 ```git git add . # 将当前目录所有文件添加到git暂存区 git commit -m "我的第一次提交" # 提交并备注提交信息 git push origin master # 将本地提交推送到远程仓库主分支 ``` > 参考资料: https://gitee.com/help/articles/4122 > https://mp.weixin.qq.com/s/Bf7uVhGiu47uOELjmC5uXQ ## 遇到错误 ! [rejected] master -> master (non-fast forward) > 解决方案 1、git pull origin master --allow-unrelated-histories //把远程仓库和本地同步,消除差异 2、重新add和commit相应文件 3、git push origin master 4、此时就能够上传成功了 > (不建议使用)也可以直接回退远程仓库版本,因为根本原因就是远程版本目录结构或其他信息不一致造成的 # 分支操作 ## git分支中常用指令: ### 列出所有本地分支 ``` git branch ``` ### 列出所有远程分支 ``` git branch -r ``` ### 新建一个分支,但依然停留在当前分支 ``` git branch [branch-name] ``` ### 新建一个分支,并切换到该分支 ``` git checkout -b [branch] ``` ### 合并指定分支到当前分支 ``` git merge [branch] ``` ### 删除分支 ``` git branch -d [branch-name] ``` ### 删除远程分支 ``` git push origin --delete [branch-name] git branch -dr [remote/branch] ``` ### 切换分支: ``` git checkout [分支名] ``` ### 把本地分支推到线上: ``` git push origin [分支名] ``` # 版本回退 ## 回退远程仓库的版本 先在本地切换到远程仓库要回退的分支对应的本地分支,然后本地回退至你需要的版本,然后执行: ``` git push <仓库名> <分支名> -f ``` ## 如何以当前版本为基础,回退指定个commit 首先,确认你当前的版本需要回退多少个版本,然后计算出你要回退的版本数量,执行如下命令 ``` git reset HEAD~X //X代表你要回退的版本数量,是数字!!!! ``` 需要注意的是,如果你是合并过分支,那么背合并分支带过来的commit并不会被计入回退数量中,而是只计算一个,所以如果需要一次回退多个commit,不建议使用这种方法 ## 如何回退到和远程版本一样 有时候,当发生错误修改需要放弃全部修改时,可以以远程分支作为回退点退回到与远程分支一样的地方,执行的命令如下 ``` git reset --hard origin/master // origin代表你远程仓库的名字,master代表分支名 ``` > 参考资料 > https://gitee.com/help/articles/4195#article-header0 > https://www.bootcss.com/p/git-guide/ # 贮藏 贮藏操作在实际开发中是一个比较常用的功能,有些配置文件之应该存在于本地,但是要切换分支的时候Git会要求你先提交本地所有更改再尝试切换分支, 这个时候可以有两种比较好的方式来让本地文件状态返回干净的工作状态,一种是通过可视化Git工具例如SouceTree、GitKraken等,另一种是可以直接使用命令行来操作。 ## SourceTree > 这个软件比较常用,但是再查看储藏的时候会出现异常卡顿的现象,打开GitGui提示让压缩数据库,猜测可能是跟这个有关?又或者是他把输出目录也进行了差异比较? > > [关于垃圾收集:运行“ git gui”时如何跳过“松散对象”弹出窗口 | 码农家园 (codenong.com)](https://www.codenong.com/1106529/) 下面来介绍一下在SourceTree中贮藏的用法: 1. 首先打开当前的分支的文件状态。 ![mcQ77kqzrK](./README.assets/mcQ77kqzrK.jpg) 2. 直接点击页面上的贮藏,然后起名字点击保存 3. 在屏幕左边的贮藏中会出现你刚刚贮藏的文件,左键点击会直接打开预览,右键单击可以删除或应用贮藏 ## 命令行 这种方式比较简单,但是没有图形化操作那样的警告信息,所有的东西只要输入命令执行就会立刻生效,在输入命令时一定要谨慎,一定要知道自己在做什么! > **参考资料:**在命令行中输入`git stash --help`查看帮助文档。 > [Git 储藏(stash)详解 - 掘金 (juejin.cn)](https://juejin.cn/post/7225959500840321081) **常用命令如下:** ```bash # 列出所有贮藏 git stash list # 列出所有贮藏的详细信息 git stash show -p # 应用贮藏 git stash apply stash@{0} # 应用贮藏并删除贮藏 git stash pop stash@{0} # 应用贮藏并删除贮藏 git stash drop stash@{0} # 删除贮藏 git stash drop stash@{0} ``` # 常用的Linux命令 平时一定要多使用这些基础的命令! 1)、cd : 改变目录。 2)、cd . . 回退到上一个目录,直接cd进入默认目录 3)、pwd : 显示当前所在的目录路径。 4)、ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。 5)、touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。 6)、rm: 删除一个文件, rm index.js 就会把index.js文件删除。 7)、mkdir: 新建一个目录,就是新建一个文件夹。 8)、rm -r : 删除一个文件夹, rm -r src 删除src目录 ```linux rm -rf // 切勿在Linux中尝试!删除电脑中全部文件! ``` 9)、mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。 10)、reset 重新初始化终端/清屏。 11)、clear 清屏。 12)、history 查看命令历史。 13)、help 帮助。 14)、exit 退出。 15)、#表示注释 #### 介绍 学习 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)