文章目录
- 0、参考文档
- 1、常用指令
- git checkout系列
- git pull系列
- git push系列
- git reset系列
- git branch系列
- git log系列
- git revert 撤销某次提交
- git diff
- 其他
- 2、查看和修改用户名和邮箱,生成密钥
- other
0、参考文档
- Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!
1、常用指令
git checkout系列
- git checkout [–] file/目录:使用暂存区内容覆盖工作区,在工作区修改了,不想要了,可以用这个操作。
- 如果某个目录被污染,想一次还原,可以删除那个目录下面的内容,然后:git checkout .
- git checkout -b 分支:创建并切换到新分支
- git checkout 分支
- 如果本地有分支,切换到该分支。
- 如果本地没有分支,但远程有分支,创建一个关联到远程分支的本地分支。
- 本地远程都没有,就报错。
- git checkout commitid
- 回退到commitid对应的那个版本。会处于分离头指针的状态,通常用来查看某文件的之前版本。
git pull系列
- git pull origin 远程分支名:拉最新远程分支,并与当前分支合并
- git pull rebase 对方强推之后,需要用这个才能拉下代码。(有时候好像没用)
- git pull:将远程仓库代码拉到工作区
git push系列
- git push -u origin 本地分支名:在创建了本地分支,但是没有对应的远程分支时,创建一个与本地分支对应的远程分支
- git push origin --delete 分支:删除远程分支
- git push origin liteOS-dev:liteOS-dev:将liteOS-dev分支推送到远程
- 如果本地分支很远程分支名一样,可写为:git push origin liteOS-dev
git reset系列
- git reset --soft,然后合并提交之后,会导致本地分支和远程对不上,此时push不上去,需要push -f强推。(将本地仓库回退,工作区和暂存区修改保留。)
- git reset/git reset --mixed,(将本地仓库、暂存区回退,工作区修改保留)
- git reset --hard HEAD :将工作区代码回退到本地仓库的最新版本。
- git reset --hard HEAD^ :将工作区代码回退到本地仓库的最新版本的上一个版本
- git reset --hard HEAD~100:将工作区代码回退到本地仓库的最新版本的前100个版本
git branch系列
- git branch :查看本地分支
- git branch -r:查看远程分支
- git branch -a:查看所有分支(本地和远程)
- git branch name:创建分支
- git branch –D name:删除本地分支
- git branch -vv: 查看本地分支与远程分支的连接情况
- git branch -m oldName newName 本地分支重命名(还没有推送到远程)
- https://www.jianshu.com/p/cc740394faf5
git log系列
- git log:查看commit的历史记录
- git log 文件:查看文件的历史提交情况
- git log --oneline:简略查看,只查看历史版本的版本号和对应的commit描述
- git log --oneline --before={2022-04-02} --after={2022-02-01} --author=xxx --no-merges
- 查看指定时间范围内的提交记录
- git log remotes/origin/xxx 查看本地xxx对应的远程xxx的log
git revert 撤销某次提交
- git revert commit 撤销指定的版本,撤销也会作为一次提交进行保存。
- git revert HEAD 撤销前一次 commit
- git revert HEAD^ 撤销前前一次 commit
- git revert 用法
git diff
- git diff <文件>:查看文件修改了什么内容
- git diff 分支1 分支2:查看两分支的差异
- git diff --name-only 分支1 分支2:只看两分有差异的文件
- git diff 分支1 分支2 文件名:查看两分支的指定文件的差异
其他
-
git show commitid:查看某个commitid的具体修改内容
- git show --name-only commitid:只显示修改的文件名
-
git init :把这个目录变成git可以管理的仓库
-
git add:把文件从工作区添加在暂存区
-
git commit -am ‘说明’:将暂存区的东西全部提交到本地仓库,并添加修改说明
-
git status:查看状态
- git status -uall:展开目录里面的文件
-
git merge 分支名:合并某分支到当前分支
-
git cherry-pick 055996b:
- 选择某个commit版本提交到当前分支
- 如果有冲突先解决冲突,然后git cherry-pick --continue 继续完成cherry-pick
-
git clone https://github.com/xxx/study.git:克隆远程仓库到本地
-
git blame 查看谁修改的
-
git blame -L start, end
-
git remote -v 查看仓库url链接
2、查看和修改用户名和邮箱,生成密钥
- 查看用户名和邮箱
- git config user.name
- git config user.email
- 修改用户名和邮箱
- git config --global user.name “xxx”
- git config --global user.email “xxx@xxx.com”
- 生成密钥
- ssh-keygen -t rsa -C “xxx@xxx.com”
other
- Github域名加上
1s
,在线VS Code阅读源码神器诞生 - https://github1s.com/xxx