这里先介绍一下fork、clone和pr这三个在使用git中会遇到的词的区别,fork意思是将这个仓库复制一份到自己的仓库变为私仓,而clone是直接将仓库代码下载到本地,pr即pull-request,当我们在fork的仓库中修改代码时,想要把自己的代码合到对应仓库里的请求。
一 使用场景
- 在公司中通过fork自己的代码仓来给项目提供代码
- 想给GitHub等上面的开源框架提供代码
二 首次配置
- 先fork一个自己的代码仓
- git clone 自己代码仓地址
- cd 项目内
- git config --global http.sslVerify false
- git remote add upstream 远程仓地址(相当于给远程仓库起别名 upstream 远程仓)
- git remote -v(查看是否关联成功、远程库信息)
- git fetch upstream 远程分支名
三 后续代码修改
- git stash (将代码放入缓冲区,防止后续pull冲突)
- git pull upstream 加远程分支名(从公共仓拉取代码)
- git stash pop (从缓存区释放,如果有冲突,可以现在解决)
- git add 文件名 / git add.(git add.修改文件全部放入暂存区)
- git commit -m 加提交信息
- git push origin 本地分支:个人仓分支(origin 自己fork的代码仓)
四 补充
1.未拉取提交代码,导致后续拉代码把别人修改的代码拉取到本地
注:回退版本前可先将自己的src文件另外拷贝出来,因为后续回退操作代码会丢失,回退代码后可直接替换src文件夹。
git reflog (查看历史记录)
git reset --hard HEAD@{n} (回退版本)
2.切换分支
注:如果本地有修改代码,先暂存代码,防止切换分支代码丢失
git stash
git checkout 分支
git stash pop
3.主分支拉取到自己开发分支更新开发分支代码
- git stash(暂存代码)
- git checkout master(切换到主分支)
- git pull origin master或git pull(把主分支代码拉下来)
- git checkout dev(切换到开发分支:比如自己的开发分支叫dev)
- git merge master (主分支代码合并到开发分支)
- git stash pop(释放代码)
4.分支代码合并到主分支
- git stash(暂存代码)
- git checkout dev(切换到分支:比如自己的开发分支叫dev)
- git pull origin dev或git pull (把本地分支拉下来)
- git checkout dev(切换到主分支)
- git merge master (合并代码到主分支)
- git stash pop(释放代码)