经常用git,但好多命令总是记不住,每次都百度。现在整理下做个笔记吧。
分支操作
- 查看分支
git branch #只显示本地分支 git branch -a #显示本地分支和远程分支
- 创建分支
git checkout -b branch_name #如果有一个远程分支remotes/origin/branch_name,那么执行这个命令将会创建新的名为`branch_name`本地分支并且跟踪同名的远程分支remotes/origin/branch_name
- 推送远程分支
git push origin branch_name
- 删除分支
git branch -d branch_name # 删除本地分支后并删除远程分支 git push --delete origin branch_name
tag 标签操作
- 查看tag列表
git tag
- 新增tag
git tag tag_name # 比如v1.0
- 推送本地指定tag到远程
git push origin tag_name
- 推送全部本地tag到远程
git push --tags
- 删除tag
git tag -d # 删除tag后并删除远程tag git push --delete origin tag_name
github中fork的项目与原作者同步
假如一个项目Evil-S0ul/write-doc
地址: https://github.com/Evil-S0ul/write-doc
我fork之后的项目是heropoo/write-doc
地址: https://github.com/heropoo/write-doc
接下来开始操作:
- 切换到我fork的项目目录里,然后增加源仓库地址到你项目的远程分支中
cd write-doc git remote add Evil-S0ul https://github.com/Evil-S0ul/write-doc
- fetch刚添加的源分支到本地
git fetch Evil-S0ul
- 合并两个版本的代码
git merge Evil-S0ul/master
- 最后把合并后的代码push到你的Github项目上去就ok啦
git push origin master
检出远程的某个分支或者tag
git fetch
git checkout branch_name
#或者
git checkout tag_name
同步且merge其他远程分支到当前本地分支
git pull origin other_branch_name
Git无法pull仓库refusing to merge unrelated histories
有时候我们的本地仓库添加了一个远程仓库地址,pull代码时会报refusing to merge unrelated histories
的错。解决方法是加一个参数--allow-unrelated-histories
。
假如我们的分支是master
git pull origin master --allow-unrelated-histories
最后更新: 2018-11-18 17:59:06
评论