获取项目信息
remote可以看做是一个人的电脑,假设有十个人合作,那么就有10个remote对象。为了方便大家同步,我们创建一个叫做origin的remote,大家都和这个origin同步,那么大家就可以达成一致了
git remote # 查看有哪些remote,一般就一个,叫做origin git remote add [name] [git-link] git remote remove [name] # 删除
git clone [git-link]
相当于一个复合命令:下载文件后自动执行了git remote add [orgin] [git-link]
扩展:添加远程同步
git remote add another [name]
所以不需要克隆下来的时候,可以:
git remote add origin [git链接]
分支管理
查询本地分支
git checkout [分支名]
查询远程分支
git branch -a
创建分支
git branch [name]
切换分支
git checkout [分支名字]
想创建一个新的分支同时切换到新创建的分支
git checkout -b <your-branch-name>
合并分支1
git merge master
如果遇到
fatal: refusing to merge unrelated histories
可以强制合并
git merge master --allow-unrelated-histories
合并分支2 (线性合并)
git rebase
。
Rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去。
Rebase 的优势就是可以创造更线性的提交历史
撤销变更
git reset改写历史
对远程分支无效
git reset HEAD~<num>
git revert
针对远程分支
git revert HEAD
强制提交
针对问题:
error: failed to push some refs to ['https://gitee.com/mllt992/xxx.git']
解决方式:强制提交
git push -u origin [分支名] -f
该方法会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候.
因此如果远端数据需要的话,请先
git pull origin master
,再进行git push -u origin master
扩展
将一些提交复制到当前所在的位置(HEAD
)下面
git cherry-pick [name] [name] ……
按指定顺序复制
git rebase -i HEAD~<>