- 下载代码
- git clone <url> ——depth 10
- ——depth 10 :设置项目深度,只去clone最新的十次提交的
- Git子模块(submodule)
- 一个Git仓库可以把另一个Git仓库作为“子目录”引入,这就是子模块。很多大公司项目会用这个机制来管理依赖关系。主仓库是业务代码,子模块可能是公共库、第三方依赖或者共享组件。
- 初始化/更新子模块
--init:初始化子模块(如果你是第一次 clone 这个项目)。--recursive:如果子模块里面还有子模块,也一并拉取。(递归的)- 查看子模块状态
- git status
- 如果仓库里有子模块,它会提示你子模块是不是有修改但没提交/子模块是不是没被 track(未关联远端版本)
- 每次提交需要知道提交人的姓名是谁,需要大家去追根溯源
- 这两条命令是来配置Git全局用户信息的。前者设置全局的提交邮箱地址。这个地址会写进每次提交的作者信息里。后者是设置全局的用户名,提交记录里面会显示的名字。
--global的意思是对你当前电脑上的所有仓库生效。如果某个仓库需要单独的名字/邮箱,可以在仓库目录下执行不带--global的命令。
- 新建一个分支,并切换到该分支。
<branch-name>:新分支的名字。[<start-point>](可选):从哪个提交/分支开始创建分支,默认是当前所在分支的最新提交。
- git add …和git commit -m ‘…’



- 把本地的<branch-name>分支推送到远程仓库origin,并且建立本地分支和远程分支的跟踪关系。
这样做的好处是:以后你在这个分支上只需要用
git push / git pull 就可以直接推送和拉取,不用每次都写上远程和分支名字。- 撤回
- 把上一次的push回退到stage里面然后下放到更改这一级然后是放弃这个更改


- 改变远程仓库
- git remote -v 列出我现在对应的远程仓库
- git remote add origin xxx换成一个新的路径的仓库
- git fetch origin2 ——depth 10



