放弃合并
git merge --abort
回退
git reset --soft HEAD^
从命令行创建一个新的仓库
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin gogs@gogs.babeltime.com:TV/ww.git
git push -u origin master
从命令行推送已经创建的仓库
git remote add origin gogs@gogs.babeltime.com:TV/ww.git
git push -u origin master
git fatal: 拒绝合并无关的历史的错误解决
本地初始化的项目 与 github 版本不一致, 导致无法提交
$ git pull origin master
* branch master -> FETCH_HEAD
fatal: 拒绝合并无关的历史
解决方法
在pull 时候, 添加–allow-unrelated-histories参数 即可.
$ git pull origin master --allow-unrelated-histories
来自 https://github.com/itaken/python-login-demo
* branch master -> FETCH_HEAD
Merge made by the 'recursive' strategy.
LICENSE | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 LICENSE
创建Develop分支并推送到远程:
新建本地分支:git checkout -b develop master
推送到远程:git push origin feature/v2.0
将Develop分支合并到Master分支:
# 切换到Master分支
git checkout master# 对Develop分支进行合并
git merge --no-ff develop
如果有冲突 解决冲突 git add . git commit -m "" git push
如果没有冲突 直接git push
合并某一次提交:
例如要将A分支的一个commit合并到B分支:
首先切换到A分支
git checkout A
git log
找出要合并的commit ID :
例如
0128660c08e325d410cb845616af355c0c19c6fe
然后切换到B分支上
git checkout B
git cherry-pick 0128660c08e325d410cb845616af355c0c19c6fe
打标签:
git tag -a 0.1.1
推送所有标签
git push origin --tags推送指定版本的标签
git push origin <版本号>
删除分支:
删除本地分支:
git branch -d fixbug-0.1
删除远程分支:
git push origin --delete feature/v2
git远程删除分支后,本地git branch -a 依然能看到的解决办法。
使用命令 git remote show origin,可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息。
此时我们可以看到那些远程仓库已经不存在的分支,根据提示,使用 git remote prune origin 命令
这样就删除了那些远程仓库不存在的分支。
.gitignore规则不生效
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
1.
所有:git rm -r --cached .
单个文件或文件夹:git rm -r --cached filename
2.git add .
3.git commit -m 'update .gitignore'
4.git push