git 命令汇总
git 仓库命令
git clone
: 下载仓库到本地。 git clone 仓库URL 目的路径
把仓库下载到目的路径。
当 clone 仓库到本地时 本地只能看到 master 分支 如果想看到其他分支 使用
git checkout -b <name> origin/<name>
如果 git pull 提示 “no tracking information” ,则说明本地分支和远程分支的链接关系没有创建,用命令
git branch --set-upstream branch-name origin/branch-name
git pull
: 将远程仓库最新的提交更新到本地。
git push
:将本地提交更新到远程仓库。
提交命令:
git add .
添加文件到暂存区
git commit -m ”提交注释”
将暂存区的文件更改提交到本地仓库.
git reset --<m
创建分支:
git branch
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge --no-ff <name>
将本地分支推送到远端分支 git push origin <name>
删除分支:git branch -d <name>
删除远端分支 git push origin --delete <name>
Git 查看命令:
git status
:查看本地仓库文件状态。
git log
: 查看提交记录。
git log --pretty=oneline
单行查看提交历史
git log --graph --pretty=oneline --abbrev-commit
查看提交网络图
git diff
: 查看文件改动.
暂存 stash 命令
工作的时候未 commit 想保存工作区内容 去另一条分支上工作
Git stash
可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list
查看储存现场储藏列表
git stash apply
恢复恢复后,stash内容并不删除,你需要用git stash drop来删除
git stash pop
恢复的同时把stash内容也删了
标签命令
创建标签 git tag -a <标签名> -m ”标签说明”
查看所有标签 git tag
给以前某个c ommit 打标签 git tag v0.9 6224937
查看标签详情 git show v0.9
推送本地某个标签: git push origin <tagname>
推送全部未推送过的本地标签 git push origin —tags
删除一个本地标签 git tag -d <tagname>
删除一个远程标签git push origin :refs/tags/<tagname>
tip:
fork 了别人的库之后
自己的名下会多出一个同样的库, clone 到本地 进行 bug 修改,修复成功后,可以在 GIthub 上发 PR 如果对方同意你的 PR 就会并入你的 commit。
过了一段时间 发现 对方的库已经更新了,但你的 fork 库 没有更新 可以试用一下操作更新自己的库:
在自己本地的 clone 库里
- 首先要先确定一下是否建立了主
repo
的远程源:
git remote -v
- 如果里面只能看到你自己的两个源( fetch 和 push ),那就需要添加主 repo 的源:
|
|
然后你就能看到 upstream 了。
如果想与主 repo 合并:
12git fetch upstreamgit merge upstream/master
这时你的本地库就已经更新到最新的了, 然后 push 到自己的 fork 库里,就完成了
官方文档解释的常用命令:
不同情境下常用的 git
命令:
|
|
分支策略
主分支 master 用于发布版本 保持稳定
开发分支 develop 用于日常开发 每日提交 当发布版本时 合并到master 用于发布 并做标记 合并完成处理完冲突后 要记得更新develop
临时分支 :
- feature-new 功能分支 基于 develop 开发完成后合并到develop 最后删除功能分支
- release-new 预发布分支 基于 develop 发版前分出 测试通过后, 先合并到master上 (测试可能时间长 develop 每天正常开发 commit ) develop 再合并到develop上(预发布分支上可能有 commit 归并到 develop 上) 最后删除预发布分支
- fixbug-new 修复 bug 分支 基于master分支 合并到 master 和 develop 分支上 最后删除bug分支
情景: (单人开发 未考虑到冲突)
发现之前版本有bug需要紧急修复, 修复完成后合并到现有代码内
- 回滚到 bug 版本
git reset —hard (bug版本号)
- 工程内修复bug 并执行 add commit (修复bug) 等操作
- 拉取远端代码 pull 然后合并代码
- push 到远端服务器