Skip to content

一般流程

  1. git pull 更新分支相关代码,也可以等自己开发完之后再更新,然后推送

  2. git add .

  3. git commit -m 'xxx'

    部分要求lint格式,需要注明
  4. git remote add origin (SSH)

  5. git branch -M main

  6. git push origin main

远程推送时的具体流程 remote enumerating object remote couting object remote compressed object remote total & reused & pack-reused

receiving object resolving deltas updating filesu

命令

讲一讲git stash?

git stash相关命令用于操作git中的本地分支缓存,相关命令主要有git statsh pop和git statsh apply
git statsh pop和git stash apply都是提取缓存到当前项目中

区别是:
	git stash pop会在提取的同时清除掉git在本地的缓存
	git stash apply则在提取的同时保留git在本地的缓存

Git revert 和git reset有什么区别

​ 一般的使用时,如果已经push了,使用revert,如果没有,就是用reset

集中式-svn;分布式-git

git submodule
	git submodule add xxx
	git submodule update --init --recursive 递归拉取子模块

git bisect
	搜索。使用二分法对有bug的提交定位,查找哪一次代码引入了错误

git stash
	保存。暂存当前分支下的更改,通过git stash pop还原

git merge
	合并分支。两个分支合并为新的提交,其会产生两个父节点

git rebase
	提交。将当前分支的提交,到目标分支;可能会改变hash值;容易使分支混乱,不知道从哪个分支拉取的代码

git fetch
	更新本地仓库。 将remote仓库更新的内容映射到本地,不会修改当前目录和分支

git revert
	revert 使用一个新的commit 来回滚你希望回滚的commit, reset 是直接HEAD 指向回退的commit

git reset
	执行的是 HEAD的指向的回退

git log

    git log -p查看文件变动信息

    git log -p -1234235678797654321....

    git log --oneline

    git log oneline --name-only文件发生变化

    git log oneline --name-status

git checkout
	恢复到上一次版本,撤回到上一次提交的内容:
	git checkout -- xxx.xxx 恢复上一个版本

git branch
    git branch --merged
    显示出来说明和master提交点相同
    说白了显示出来的是可以删除了的
    git branch --no -merged

	git branch -d xxx
	强制删除(没有合并但要删除):
  	git branch -D xxx

git alias
	git命令别名

git remote
	-v
	remove origin
	add origin xxx
git config
	git config --global user.email "1619346963@qq.com"
	git config --global user.name "emVisible"
# ===================================================================

线上分支: master
本地分支: fix
修复bug:
	1. 切换到master目录,同fix分支合并实现bug的修改
		git checkout master => git merge fix => git push origin master
	2. 拉取fix最新代码到master上,
		(git checkout fix => git rebase master )=> (1操作)

兼容问题

Windows端不支持*nix的格式,有遇到这个问题

方便地解决是更换到WSL,因为出了一个问题还会出其它的问题