git基础
1.基础配置
git config --global user.name ''
git config --global user.email '' (可以在后面加--local指定本仓库为所配置的信息)
# 显示config的配置,加list
git config --list
2. 给文件重命名
git mv oldfilename newfilname
然后只需要重新进行commit提交即可,不需要进行git add 等一系列操作
git reset 的三种用法
? --hard 工作区和暂存区的内容都会被清空
? --soft 暂存区和工作区的内容都不会被清空
? 默认模式 工作区的内容不会被清空
3. git分离头指针
分离头指针的本质就是工作在没有分支的状态下。
发生的场景:
c0 --> c1 --> c2
此时git checkout c1
git commit(分离头指针现象发生) -->c3
解决方法(给当前提交id号绑定一个分支名,git branch -f master HEAD -- git checkout master)
git branch bugFix(分支名) c3
git checkout bugFix (然后提交就没有问题了)
git checkout dev main
基于main创建dev分支
4.git diff的使用
git diff: 比较工作区和暂存区
git diff --cached: 比较暂存区和最新的本地仓库
git diff HEAD: 比较工作区和最新版本库
5.删除不需要的分支
git branch -d 分支名(-D)
6. 修改对应的提交的信息
修改最近的提交的commit的信息
git commit --amend
修改之前的commit的信息
git rebase -i 提交的id号(可以使用git log查看)
**git branch -av **
? 查看所有分支及其相关信息
7. 将多个commit整理成一个
连续的commit合并成一个
git rebase - i 提交号 (后续将pick改成s,只需留下最上面的一个pick)
不连续的commit合并成一个
git rebase -i 提交好(想要合并的提交idxieru,调整对应的pick以及s)
8. 让暂存区和HEAD一致
git reset HEAD
9.工作区的文件恢复和暂存区一致
git checkout -- 文件名
10.怎样取消暂存区部分文件的修改
git reset HEAD -- 文件名
11.怎么取消最近的几次提交
git reset --hard 提交id号
12.开发中临时加塞了其他紧急任务
git stash (将当前的工作区的改动保存,保持工作区是clean)
.....做其他的bug修复
git stash apply
其他的指令
git stash list
git stash pop(pop出的不会保存在stash列表中了)
git stash apply stash@{0}
13.指定不需要git管理的文件
添加.gitignore
然后在里面添加对应的规则
14.不同人修改了同文件的不同区域
git fetch
git merge
15.不同人修改了同文件的同一区域
git merge的时候会失败,需要手动进行修改,然后进行提交即可
16.同时变更了文件名和文件内容
人员A修改了文件名,进行了远程分支的提交
人员B进行了文件内容的修改,然后提交(报错)
-----
git pull (git会察觉到这是因为文件名变化所致)
此时人员B的文件名会变化,直接进行commit即可
人员A修改了文件名进行了提交
人员B修改了文件名进行提交(报错)
-----
git pull
此时git仓库会出现这二个文件
git rm 删除你不需要的源文件以及修改文件名之后的其中一个文件
git add 你需要修改的文件名的文件
最后git commit即可
17.禁止向继承分支执行push
如果在本地进行了版本的回退,
使用push -f
远程仓库的提交记录也会被影响(消失)
18.禁止向继承分支执行变更历史的操作
19.怎么快速搜索自己感兴趣的开源项目
in:name 用来搜索范围是仓库名称
in:description 执行搜索范围的是描述
in:readme 搜索指定范围是readme文档中
starts:>
fork:>
in:readme 办公项目 language:java
|