git 命令纪录

#其它  4个月前   阅读/215

git 命令

git checkout -b 本地分支名 origin/远程分支名 将远程git仓库里的指定分支拉取到本地
git push --set-upstream origin branch_name 来在远程创建一个与本地branch_name 分支同名的分支并跟踪;
git checkout --track orgin/branch_name 来在本地创建一个与 branch_name 同名分支跟踪远程分支
git flow feature finish feature/modifyTask 完成分支开发

git merge --no-ff -m “合并hotfix分支” hotfix
git branch -d hotfix

git reset --hard HEAD 回退至上一个版本
git reset --hard 版本号 回退至指定版本
git stash drop stash@{0} 丢弃stash
git stash pop

git fetch origin 更新本地代码为远程代码
git reset --hard origin/master

git push origin --delete feature/invoice 删除远程分支
git branch -d feature/invoice 删除本地分支

git checkout – . 撤销所有(git add/rm 之前)
git checkout – file_name 撤销指定文件(git add/rm 之前)
git reset HEAD reset 某个文件(git add/rm 之后,还未git commit,从暂存区撤出)
git reset HEAD . reset 所有(git add/rm 之后,还未git commit,从暂存区撤出)

// 打印所有标签
git tag
// 打印符合检索条件的标签
git tag -l 1..
// 查看对应标签状态
git checkout 1.0.0

/// 创建标签(本地)

会列出所有的分支/标签
git ls-remote

【删除远程分支和tag】
$ git push origin --delete

【删除tag这么用】
git push origin --delete tag

// 创建轻量标签
git tag 1.0.0-light
// 创建带备注标签(推荐)
git tag -a 1.0.0 -m “这是备注信息”
// 针对特定commit版本SHA创建标签
git tag -a 1.0.0 0c3b62d -m “这是备注信息”

/// 删除标签(本地)
git tag -d 1.0.0

/// 将本地标签发布到远程仓库
// 发送所有
git push origin --tags
// 指定版本发送
git push origin 1.0.0

/// 删除远程仓库对应标签
// Git版本 > V1.7.0
git push origin --delete 1.0.0
// 旧版本Git
git push origin :refs/tags/1.0.0

1.master。只有一个,并且不会在master上进行代码的操作。

2.develop。只有一个,新特性的开发是基于develop开发的,但是不能直接在develop上进行开发,而是在基于develop上创建feature分支进行新特性的开发。

3.feature。可以同时存在多个,基于develop分支被创建。对于每一个新的功能可以创建一个新的feature分支,开发结束之后,合并到develop分支即可。
创建一个新的feature分支,命令:git flow feature start name 执行之后,feature/name分支就会被创建。
当新特性开发完成过后,需要合并到develop上,命令:git flow feature finish name? 执行之后,feature/name分支的内容就会合并到develop,,并且删除feature/name分支。

4.release分支。release分支是为了发布而存在的分支,基于develop分支被创建。在同一时间只能有一个release分支,在此分支上仅仅是较少代码的修复。否则,容易引起release分支不稳定。当release分支被创建之后,develop分支可能在准备另一个版本的,因此,当release分支merge回develop分支时候可能会出现冲突,需要手工解决冲突。

创建一个release分支
git flow release start v.1.0
git flow release finish v.1.0。这个命令会执行一下的操作:
(1.分支merge回master分支;2.使用release分支名称打tag;3.release分支merge回develop分支;4.删除release分支。)

5.hotfix分支。当发现master分支出现一个需要紧急修复的bug,这个时候就需要使用hotfix。基于master分支被创建。同一时间只有一个hotfix分支,生命周期比较短。
创建hotfix分支。命令:git flow hotfix start v.1.0
结束hotfix分支。命令:git flow hotfix finish v.1.0。
会把hotfix分支merge到master和develop分支,并且删除此分支。(注意,如果bug修复时,存在release分支,那么hotfix会merge到release分支,不是develop了。)

git-更改本地和远程分支的名称
git branch -m old_branch new_branch
git push origin :old_branch
git push --set-upstream origin new_branch

git branch -r -d origin/branch-name //只能使用这个命令来删除branch,下面的命令不可以。因为同样是因为有 matches more than one

git remote show origin 需要联网输出实时的远程仓库的分支信息。

git fetch --prune origin
git remote prune origin 会与远程库进行一次同步,最终清理掉版本库中的dev分支,但本地工作区中的dev分支并不会删除

git commit --amend 修改最后一次注释

git push origin :refs/tags/

元芳,你怎么看?
加载中