# git_learn **Repository Path**: wang84947/git_learn ## Basic Information - **Project Name**: git_learn - **Description**: git 相关学习 - **Primary Language**: C - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-10 - **Last Updated**: 2022-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # git_learn #### 介绍 git 相关学习 #### 软件架构 软件架构说明 ### 添加多个远端分支 1.查看现有几个仓库 >git remote -v 会显示你现在的远程仓库 2.添加一个远程仓库 >添加一个远程库 名字不能是origin git remote add testAdd http://git.test.com/tsest/test.git 3 删除一个远程仓库 3.推送拉取代码 >拉取代码 git pull testAdd 远程分支名:本地分支名 4.推送代码 >git push testAdd 远程分支名:本地分支名 #### 教程 [Git] Reset - mixed, hard and soft https://dotblogs.com.tw/wasichris/2016/04/29/225157 Pro Git(中文版 https://gitee.com/progit/ 1. xxxx 2. xxxx 3. xxxx #### 使用说明 >修改 COMMIT 信息 2. git rebase -i <简短commitID> 如果需要修改从上往下第2个commit_message,这里的简短commitID为上面输出信息的第3个,以此类推在弹出的窗口中,以VIM编辑方式显示了最近两次的提交信息 3. (按照VIM操作)按i键,进入编辑模式,将想要修改的提交前的pick改为reword,如果需要修改多个,也可以将对应的多个pick改为reword 4. (按照VIM操作)按ESC键 再按 shift + : 然后输入wq(w是保存,q是退出) 按回车键 5. 在弹出的窗口中,按i进入编辑模式,就可以修改commit_message了 6. (按照VIM操作)按ESC键,再按 shift + : 然后输入wq(w是保存,q是退出)按回车键(同第4步)如果第3步中修改了多个pick为reword,则会多次弹出修改界面,重复第5~6步即可 7. 再使用第1步的命令查看一下修改结果,git log --oneline -5或者git log -5,查看修改是否已经完成 8. 最后强制push上去git push --force 1. xxxx 2. xxxx 3. xxxx cd https://www.jianshu.com/p/6960811ac89c 有关git reset 的详解 https://blog.csdn.net/longintchar/article/details/81843048 #### 参与贡献 1、创建本地分支 local_branch git branch local_branch 1.2、创建本地分支local_branch 并切换到local_branch分支 git checkout -b local_branch 2、切换到分支local_branch git checkout local_branch 3、推送本地分支local_branch到远程分支 remote_branch并建立关联关系 a.远程已有remote_branch分支并且已经关联本地分支local_branch且本地已经切换到local_branch git push b.远程已有remote_branch分支但未关联本地分支local_branch且本地已经切换到local_branch git push -u origin/remote_branch c.远程没有有remote_branch分支并,本地已经切换到local_branch git push origgitin local_branch:remote_branch 5、删除本地分支local_branch git branch -d local_branch 6、删除远程分支remote_branch git push origin :remote_branch git branch -m | -M oldbranch newbranch 重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。 git branch -d | -D branchname 删除branchname分支 git branch -d -r branchname 删除远程branchname分支 7、查看本地分支 git branch 8、查看远程和本地分支 git branch -a ———————————————— 版权声明:本文为CSDN博主「hijiankang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/hijiankang/article/details/47254179 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) ## git reset --hard >取消 暂存区和工作区的修改 ## git checkout --f >取消工作区的修改 git checkout -f 【commint id】: “-f”,相当于 “--force”, 强制移动指针,忽略本地变化 ## git checkout -- . > 保留暂存区 取消工作区 ## git commit --amend >撤销上次的提交动作,重新提交一次这个时候可以用命令 git commit --amend ### gitignore > 有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交: git rm -r --cached . git add . git commit -m 'update .gitignore' ### 查看配置信息 ### --local:仓库级,--global:全局级,--system:系统级 >$ git config <--local | --global | --system> -l ### 查看当前生效的配置信息 >$ git config -l ### 编辑配置文件 ### --local:仓库级,--global:全局级,--system:系统级 >$ git config <--local | --global | --system> -e ### 添加配置项 ### --local:仓库级,--global:全局级,--system:系统级 >$ git config <--local | --global | --system> --add ### 获取配置项 >$ git config <--local | --global | --system> --get ### 删除配置项 >$ git config <--local | --global | --system> --unset git mergetool https://blog.csdn.net/albertsh/article/details/106294095 1.git diff用来比较文件之间的不同,其基本用法如下: (1)git diff:当工作区有改动,临时区为空,diff的对比是“工作区与最后一次commit提交的仓库的共同文件”;当工作区有改动,临时区不为空,diff对比的是“工作区与暂存区的共同文件”。 clean 状态下 工作区添加代码 git diff 这两个效果是一样的 都可以通过vscode 直接看出来 (2)git diff --cached 或 git diff --staged:显示暂存区(已add但未commit文件)和最后一次commit(HEAD)之间的所有不相同文件的增删改(git diff --cached和git diff –staged相同作用) 添加一段代码 git add . 再增加一段代码 git diff git add . 之后的 显示的差异 就是存区的内容 (3)git diff HEAD:显示工作目录(已track但未add文件)和暂存区(已add但未commit文件)与最后一次commit之间的的所有不相同文件的增删改。 就是直接比对 当前工作区和 上一次提交的差异 (3.1)git diff HEAD~X或git diff HEAD^^^…(后面有X个^符号,X为正整数):可以查看最近一次提交的版本与往过去时间线前数X个的版本之间的所有同(3)中定义文件之间的增删改。 第一次提交 第二次提交 第三次提交 (4)git diff <分支名1> <分支名2> :比较两个分支上最后 commit 的内容的差别 g (4.1) git diff branch1 branch2 --stat 显示出所有有差异的文件(不详细,没有对比内容) (4.2) git diff branch1 branch2 显示出所有有差异的文件的详细差异(更详细) (4.3) git diff branch1 branch2 具体文件路径 显示指定文件的详细差异(对比内容) 我们有2个分支:master、dev(dev为develop的缩写,应是开发新功能的Feature分支),查看这两个 branch 的区别,除了上面(abc)还有以下几种方式: ———————————————— 版权声明:本文为CSDN博主「快乐李同学(李俊德-大连理工大学)」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/wq6ylg08/article/details/88798254 git substree