个人在工作和学习中使用的一些git的笔记,在这里放一下
有时候远程仓库地址变了,提交不了代码,需要再本地修改远程仓库的地址。下面几种方式都可以修改。
直接设置命令修改
git remote origin set-url [email protected]:front/loan.git
先删除,再添加
git remote rm origin
git remote add origin [email protected]:front/loan.git
找到项目中的.git/config文件,打开。
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = [email protected]:front/loan.git # 这里修改为新的git地址即可
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "revive"]
remote = origin
merge = refs/heads/revive
[user]
name = xxx
email = [email protected]
password = xxxxx
这里是个人在项目中一些有用的命令,由于太杂了,没有归类
有时候分支管理feature的某些功能需要临时上线,需要这个命令
git cherry-pick 某个commit id
有时候突然某个功能又不上了,但是又提交上去了。如果不是很大的问题可以直接改回去。但是如果不好改回去,可以使用这一条命令,不过需要注意的是,它会把这次提交之后的提交记录全部清空。慎用。
git reset --hard d7009d0e # 提交记录的id
git push -f
没什么多说的
git tag -a v1.0.0 -m '描述'
git push --tags
当项目中在开发新功能的时候,老功能突然需要维护时,新功能还没开发完成,不可能直接放弃,这时候就可以用git stash 暂存当前开发进度
git stash # 暂存新功能
git stash pop # 还原
一般是在合并分支之后执行
git push origin --delete 分支名称 # 删除远程分支
git branch -d 分支名称 # 删除本地分支
git flow init
Which branch should be used for bringing forth production releases?
- master
Branch name for production releases: [master]
Branch name for "next release" development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Bugfix branches? [bugfix/]
Release branches? [release/]
输之后按默认的来就可以
一般不会直接在develop上开发,而是自动创建feature分支
git flow feature start functions
Switched to a new branch 'feature/functions'
git flow feature finish functions
Switched to branch 'develop'
Your branch is up to date with 'origin/develop'.
Updating 0daead3..83e9634
Fast-forward
这个命令会将feature上的代码自动合并到develop分支,并删除当前的feature分支。
develop分支上面的开发完成了bug修复了就可以创建release了。
git flow release start 0.1.0
Switched to a new branch 'release/0.1.0'
Summary of actions:
- A new branch 'release/0.1.0' was created, based on 'develop'
- You are now on branch 'release/0.1.0'
start后面接的是版本号,方便发布之后自动tag区分,这时候可以在这个分支上修改一些版本的相关的文件
git flow release finish '0.1.0'
Switched to branch 'master'
这个时候会自动合并release分支到master和develop,并且自动打tag
当在release分支发布之前突然需要改个上么东西影响上线,这时候feature是不行的了,就需要hotfix
git flow hotfix start doc-mis
Switched to a new branch 'hotfix/doc-mis'
改完问题,完成hotfix
git flow hotfix finish 'doc-mis'
Branches 'master' and 'origin/master' have diverged.
And local branch 'master' is ahead of 'origin/master'.
这时候也会自动打一个hotfix的tag
https://blog.csdn.net/u013066244/article/details/79920012
https://www.cnblogs.com/kuyuecs/p/8328060.html
https://www.git-tower.com/learn/git/ebook/cn/command-line/advanced-topics/git-flow#