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
2
$ git fetch origin
$ git rebase origin/master

合并commit

1
$ git rebase -i origin/master

发出Pull Request

提交到远程仓库以后,就可以发出 Pull Request 到master分支,然后请求别人进行代码review,确认可以合并到master。

git remote

1
2
3
4
5
6
7
8
9
10
// 参看远程主机的网址。
$ git remote -v
// 查看该主机的详细信息。
$ git remote show <主机名>
// 添加远程主机
$ git remote add <主机名> <网址>
// 删除远程主机
$ git remote rm <主机名>
// 远程主机的改名
$ git remote rename <原主机名> <新主机名>

git fetch

1
$ git fetch origin master

git pull

1
2
取回 origin 主机的next分支,与本地的master分支合并
$ git pull origin next:master

git push

1
2
// 将本地分支的更新,推送到远程主机
$ git push -u origin master

Git 工作流程

开发环境 master
预发环境 pre-production
生产环境 production

代码的变化,必须由”上游”向”下游”发展。比如,生产环境出现了bug,这时就要新建一个功能分支,先把它合并到master,确认没有问题,再cherry-pick到pre-production,这一步也没有问题,才进入production。

工作中遇到的问题

git push到GitHub的时候遇到! [rejected] master -> master (non-fast-forward)的问题

1
2
3
4
5
6
7
8
git pull origin master --allow-unrelated-histories //把远程仓库和本地同步,消除差异

git branch --set-upstream-to=origin/master master // 建立联系

git remote add origin url // 添加远端

git remote set-url origin https://gitee.com/li_huai/mobile-admin.git //删除远端


以上是我对下列视频及文章的归纳和总结。
常用 Git 命令清单
Git使用规范流程
Git分支管理策略
Git远程操作详解
Git 工作流程
Pull Request 的命令行管理
git push到GitHub的时候遇到! [rejected] master -> master (non-fast-forward)的问题
码云创建分支_上传到分支_合并分支(vue_Travel项目)
Git 分支 - 分支的新建与合并

git 切换远程分支

提高国内访问 Github 速度的 9 种方法

You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.