Git使用进阶
Last updated
Was this helpful?
Last updated
Was this helpful?
这是一篇给宇航员(这里就是指使用Git的程序员们)的指南,用来指导问题出现后的应对之法。
飞行规则(Flight Rules) 是记录在手册上的来之不易的一系列知识,记录了某个事情发生的原因,以及怎样一步一步的进行处理。本质上, 它们是特定场景的非常详细的标准处理流程。 [...]
自20世纪60年代初以来,NASA一直在捕捉(capturing)我们的失误,灾难和解决方案, 当时水星时代(Mercury-era)的地面小组首先开始将“经验教训”收集到一个纲要(compendium)中,该纲现在已经有上千个问题情景,从发动机故障到破损的舱口把手到计算机故障,以及它们对应的解决方案。
— Chris Hadfield, 一个宇航员的生活指南(An Astronaut's Guide to Life)。
设置主分支,并设置不能直接提交,只能merge到该分支,一般设置master
为主分支
创建自己的开发分支 develp
一般开发流程:
从master
创建新分支develp
develp
分支完成功能,然后提交代码到远程(远程备份)
合并master
分支代码到develp
,并解决冲突,提交到远程
develp
分支merge到master
分支
Step 1:checkout branchs
git checkout -b beta origin/beta
git checkout origin/master
Step 2:merge and fix conflicts
git merge --no-ff beta
fix conflicts
Step 3:Push the result of the merge to GitLab
git push origin master
git clone
指定分支:只拉取 dev
分支的代码: git clone -b dev https://github.com/xxx/xxx.git
git clone
只拉取最后一次提交:主要是解决仓库体积过大,导致拉取代码缓慢的问题/CI拉取代码缓慢的问题
git clone https://github.com/xxx/xxx.git --depth 1
/ git clone --depth 1 https://github.com/xxx/xxx.git
git clone
只拉取部分目录创建新目录,初始化 git:
mkdir qqq
cd qqq
git init
拉取远程仓库的git信息:
git remote add -f origin https://github.com/xxx/xxx
开启 sparse clone
git config core.sparsecheckout true
设置过滤关键词:
echo "TestGitTests" >> .git/info/sparse-checkout
只会拉取 TestGitTests
目录下的文件
拉取仓库:
git pull origin master
远程端1:origin
git push -u origin master
远程端1:gitee
git push -u gitee master
提交代码的时候,需要分别提交,这一点上相对麻烦
默认添加远程仓库地址:
给远程仓库再次添加一个地址:
下次提交的时候,就会两个地址都提交上去
恢复(放弃)新增的文件:git clean -xdf
查看删除的文件:git ls-files --deleted
恢复多个被删除的文件:git ls-files -d | xargs git checkout --
方式一:git checkout .
方式二:git ls-files -m | xargs git checkout --
恢复被修改的文件
恢复文件,从某个版本的文件恢复过来: 1. git checkout commit_id -- file_name
2. git checkout -- file_name
表示恢复文件到本地版本库中最新的状态
git remote add origin
git remote add gitee
git remote add origin
git remote set-url --add origin
git remote set-url --add origin
添加多个远程仓库,