1、分支的操作
查看分支:git branch
创建分支:git branch 分支名称
切换分支:git checkout 分支名称
注意:切换之前,要保证工作树是清空的状态,不然当前分支的文件会出现在切换的分支中
合并分支 :git merge 需要合并的分支名称
删除分支:git branch -d 分支名称
注意:分支被合并后才允许被删除,若要强制删除,可使用-D
2、本地推送到远程git push 远程仓库地址 分支名称
git push 远程仓库地址别名 分支名称
git push -u 远程仓库地址 分支名称
注:-u 表示记住推送地址及分支,下次推送只需要输入 git push 即可
设置远程仓库地址别名git remote add 远程仓库地址别名 远程仓库地址
3、跨团队协作
假设仓库 owner 为 A 非团队人员为 B
- B fork A 的仓库
- B 将仓库克隆在本地进行开发修改
- B 将本地代码推送到远程仓库
- B 发起 pull request
- A 在 pull request 中进行审核
- A 确定无误后合并 B 提交的代码
4、ssh 免登陆
生成秘钥:ssh-keygen
秘钥存储目录:C:\Users\当前使用用户\.ssh
公钥名称:id_rsa.pub
私钥名称:id_rsa
5、vscode 用 git 拉取代码,提示:在签出前,请清理存储库工作树
- 手动解决
1 | git stash |
- 放弃本地修改,直接覆盖,这个会重置掉未 commit 到本地的修改文件,用之前考虑清楚
1 | git reset --hard |
6、清除工作区 untracked files
- 源码的开发过程中,某一个项目 git 仓库中经常会出现一些 untracked files,这些文件是 git 仓库没有管理的,需要清理掉。使用 git status 查看有两个文件没有被 git 管理
1 | On branch master |
- 解决方法:
1 | git clean -df // 清除当前目录下所有git仓库没有管理的文件或目录 |
- 清除完成后使用 git status 查看,两个 untacking file 被删除了:
1 | On branch master |
7、暂存区回退到工作区
- 有的时候我们需要把提交到暂存区的文件回退到工作区中。使用 git status 查看 Test 文件现在存在于暂存区中,我们希望把 Test 回退到工作区中:
1 | On branch master |
- 操作:
1 | git已经智能的提示我们使用git reset HEAD <file>...来让暂存区文件回退到工作区。 |
- 再次查看 git 仓库状态,文件处于工作区了:
1 | On branch master |
8、打 patch
- 团队开发中,自己本地修改了一些代码,还没有验证是否正确,此时不能往 git 服务器去推送。恰好同事也在跟这个问题,他希望在我的基础上进行追踪,希望我把我已经修改的代码给他。这个时候我可以通过打 patch 的方式实现。
操作:
1 | 生成patch: |
一个正在成长的前端小白~