git、gitHub 从入门到实践应用
git 简单的流程
新建一个目录,将其初始化为Git代码库
git init [project-name]
git init -y
我老喜欢加 -y 应该是 npm init -y
项目初始化……哈哈
克隆远端
git clone https://github.com/Fallen-down/multi-end
切换到 master 分支
git checkout master
切换到 dev 远端分支本地也新增一个 dev 分支并切换到 dev 分支
git checkout -b dev origin/dev
拉取最新代码
git pull
新建一个开发分支 develop
git checkout -b develop master
显示有变更的文件
git status
添加指定目录到暂存区,包括子目录
git add [dir]
添加当前目录的所有文件到暂存区
git add .
删除工作区文件,并且将这次删除放入暂存区
git rm [file1] [file2]
提交暂存区到仓库区
git commit -m '提交内容'
Git配置
git config --list
编辑Git配置文件
git config -e [--global]
设置提交代码时的用户信息
git config [--global] user.name "[name]"
git config [--global] user.email "[email address]"
帮助程序将凭据存储在磁盘上
git config credential.helper store
查看所有分支
git branch -a
查看推送远端
git remote -v
合并分支
git checkout master
git merge develop
删除本地分支
git branch -D dev
删除远端 develop
git push origin :develop
上传本地指定分支到远程仓库
git push [remote] [branch]
强行推送当前分支到远程仓库,即使有冲突
git push [remote] --force
重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
git reset --hard [commit]
回滚上一次提交
git reset --hard head^
git reflog
git reset –hard 1456
新建一个tag在当前commit
git tag [tag]
与主干同步
1 | $ git fetch origin |
合并commit
1 | $ git rebase -i origin/master |
发出Pull Request
提交到远程仓库以后,就可以发出 Pull Request 到master分支,然后请求别人进行代码review,确认可以合并到master。
git remote
1 | // 参看远程主机的网址。 |
git fetch
1 | $ git fetch origin master |
git pull
1 | 取回 origin 主机的next分支,与本地的master分支合并 |
git push
1 | // 将本地分支的更新,推送到远程主机 |
Git 工作流程
开发环境 master
预发环境 pre-production
生产环境 production
代码的变化,必须由”上游”向”下游”发展。比如,生产环境出现了bug,这时就要新建一个功能分支,先把它合并到master,确认没有问题,再cherry-pick到pre-production,这一步也没有问题,才进入production。
工作中遇到的问题
git push到GitHub的时候遇到! [rejected] master -> master (non-fast-forward)的问题
1 | git pull origin master --allow-unrelated-histories //把远程仓库和本地同步,消除差异 |
以上是我对下列视频及文章的归纳和总结。
常用 Git 命令清单
Git使用规范流程
Git分支管理策略
Git远程操作详解
Git 工作流程
Pull Request 的命令行管理
git push到GitHub的时候遇到! [rejected] master -> master (non-fast-forward)的问题
码云创建分支_上传到分支_合并分支(vue_Travel项目)
Git 分支 - 分支的新建与合并
git、gitHub 从入门到实践应用
install_url
to use ShareThis. Please set it in _config.yml
.