git
日期: 2020-10-11 标签: publish
=== === === ===
创建仓库
从svn 创建
git svn clone svn://localhost:5177/trunk/Tboy Tboy.git
从本地仓库创建
git clone --bare xalg xalg.git
使用scp -r 拷贝到服务器,在服务器上执行
cd xalg.git
git init --bare --shared
创建空仓库
建一个空目录,在该目录下执行:
git --bare init
如果git init 的时候没有加 --bare
需要执行
git config --bool core.bare true
关联分支
git push
不指定远程分支,默认推送到关联分支上
设置:
命令格式:
git branch --set-upstream-to=origin/remote_branch your_branch
其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。
比如xalg 的
git branch --set-upstream-to=origin/master master
查看关联分支
git branch -vv
git remote show origin
git status中文
git config --global core.quotepath false
新建 tag
git tag -a kx-0.1.1 -m "已经过长期使用"
显示tag
git show kx-0.1.1
将tag处代码check到一个新的分支上 git checkout -b branch_name tag_name
新建分支
删除分支
git branch -d kx_spinner
合并到kx
git checkout master
git merge kx
kivy
的分支
kx 可使用的稳定的分支
master 开发的,从kivy/kivy 合并也先合并到此分支上
放弃所有修改
git checkout -f
保留现场
git stash
git stash list
git stash clear
git stash pop stash@{num}
最上层的
git stash pop
不用提交
git update-index --assume-unchanged xsys.py
resset 回退后强制提交
git push origin HEAD --force #远程提交回退
本地创建一个新项目
比如xview
1,在本地
git init
2,在远端
新建xview.git
git init --bare --share
3,在本地
git remote add origin xxh@xcloud:/data/gitdb/xview.git
git add .
git commit . -m "add "
git push --set-upstream origin master
拆分仓库
将xsym拆分出来
先在xcloud上建一个空仓库,clone到本地
在本地py3:
git subtree split -P xsym -b xsym
在本地xsym:
git pull ../py3 xsym
这样py3的xsym分支就到了 xsym仓库。
合并提交
git rebase -i HEAD~3
这里3为合并的提交次数
编辑rebase
将后面的几个pick 改为s( squash),若使用pick,则将几个提交作为分组到一组,但原来的提交也可以看得到。
wq 保存 rebase,保存提交信息,完成合并。
若出现异常
git rebase --edit-todo 编辑
git rebase --continue 继续
git rebase --skip 丢弃冲突(一般不用)
git rebase --aobrt 退出
如果被合并的已push 合并后,不能git pull 再推送,需要git push --force.或者最新的不要squash合并到老的提交,而使用pick比较合适 ,这样最新的commit 还会保留
条目是由老到新执行,最新的最底下。