工作流

拉取 main 并建立自己的分支,然后同步

1.git clone // 到本地

2.git checkout -b xxx 切换至新分支xxx (相当于复制了remote的仓库到本地的xxx分支上

3.修改或者添加本地代码(部署在硬盘的源文件上)

4.git diff 查看自己对代码做出的改变

5.git add 上传更新后的代码至暂存区

6.git commit 可以将暂存区里更新后的代码更新到本地git 7.git push origin xxx 将本地的xxxgit分支上传至github上的git

-----------------------------------------------------------------------------------

如果在写自己的代码过程中发现远端GitHub上代码出现改变

1.git checkout main 切换回main分支

2.git pull origin master(main) 将远端修改过的代码再更新到本地

3.git checkout xxx 回到xxx分支

4.git rebase main 我在xxx分支上,先把main移过来,然后根据我的commit来修改成新的内容 (中途可能会出现,rebase conflict -----》手动选择保留哪段代码)

5.git push -f origin xxx 把rebase后并且更新过的代码再push到远端github上 (-f ---》强行)

6.原项目主人采用pull request 中的 squash and merge 合并所有不同的commit

---------------------------------------------------------------------------------------------

远端完成更新后,删除分支

1. github branch有delete 按钮 删除远端分支

1.git branch -d xxx 删除本地的git分支

2.git pull origin master 再把远端的最新代码拉至本地 

 十分钟学会正确的github工作流,和开源作者们使用同一套流程_哔哩哔哩_bilibili

撤销

共涉及:Disk, Staging, Local, Remote

Disk 撤销还未缓存的修改 checkout/restore

查看所做出的修改 git diff 

查看目前状况         git status -> Changes not staged for commit(红色)

撤销语句

git checkout <changed_file>  旧版本git

(git restore <changed_file>)

Staging 撤销缓存区中的修改

如果已经使用 git add <changed_file> 将Disk的修改同步到缓存区

查看目前状况 git status -> Changes to be commited(绿色)

只撤销S,不撤销D【比较安全

 git reset <changed_file>(git restore --staged <changed_file>)

撤销D和S中的修改

git checkout HEAD <chaned_file>

【HEAD指的就是最近一次的一次commit】

Local撤销提交的版本

假如已经使用git commit,则修改正式成为一个commit,被放在Local Git里

软撤销 【只撤销L】 

git reset --soft HEAD~1 

【撤销最近一次commit, 如果是撤销到最近X次comiit修改数字1为X即可】

非软撤销 【撤销L+S】 

git reset HEAD~1 (git reset --mixed HEAD~1)

撤销 commit 版本同时清除 add 添加的缓存

撤销 L+S+D 

git reset --hard HEAD~1

完全回滚(撤销已经提交的版本、放弃已经添加的缓存、甚至本地的修改)



reset vs revert

和git reset不同,git revert 本质上是增加一个 反相的commit

 可以通过指定撤销哪个change的Commit

revert只能前进不许后退

公有分支revert

git revert HEAD

git push

在公有分支上 只能前进 不许后退【撤销只能用revert然后push,不然会影响到其他用户分支】

私有分支reset

私有分支上可以使用reset , 不过同步时要使用-f 强制push

git reset --hard HEAD~1

git push -f

十分钟学会常用git撤销操作,全面掌握git的时光机_哔哩哔哩_bilibili

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐