1.准备工作
下载Git 下载yarn node
2.新建本地仓库并上传到远程仓库
git init // 初始化
git add .// 把当前目录下所有未追踪的文件全部add
git commit -m "first commit" // 文件添加到本地仓库
git remote add origin URL // 关联远程仓库,URL为你远程仓库地址
// fatal: remote origin already exists.时先输入先输入 git remote rm origin删一哈
git push -u origin master -f // 强推,覆盖readme
--------
git branch develop // 新建develop分支
git checkout develop // 切换到develop分支
git push origin develop // develop分支上传到远端
--------git flow
brew install git-flow // install git flow
或者
curl -L -O https://raw.github.com/nvie/gitflow/develop/contrib/gitflow-installer.sh
sudo bash gitflow-installer.sh
git flow init // git flow初始化仓库
(git flow init -f 重新开始init)
git flow feature start xxx // 创建feature分支
git push origin feature/xxx // 将feature分支发到远端
常见问题
- Updates were rejected because the remote contains work that you do hint: not
因为远程分支上存在本地分支中未曾提交的代码,往往是多人协作遇到的问题,可以先fetch再merge,也就是pull,把远程分支上的提交合并到本地后再push。
git pull --rebase origin master
如果确定远程分支上的提交不需要了,那么直接
git push -u origin master -f·
- Username for 'github.com':
git remote set-url origin
- 已经有.git文件
rm -rf .git
git init
- fatal: remote origin already exists.
git remote rm origin
3.更改http为ssh
ssh-keygen -t rsa -C "ACCOUNT"
pbcopy < ~/.ssh/id_rsa.pub
ssh -T "ACCOUNT" // 验证是否成功
*查询ssh密钥 cat ~/.ssh/id_rsa.pub
4.配置git用户名和邮箱
git config --global user.name XXX
git config --global user.email XXX
5.合并两次分支
sourcetree中获取两次commit之前版本的id号
打开终端 git rebase -i id号
加入i 删除list 加入rquash :wq 删除项目名(dd) 再输入:wq
6.常见git操作
git status // 查看git分支
git log // 查看日志,q退出
git checkout // 切换分支
git remote set-url // 设置远程名字
git mv old new // 本地改名
0.
·git add到staging area
·git commit到local repo
·git push到remote repo
1.下载Git(不然git不是内部命令)
2.下载node yarn
3.克隆仓库,创建分支,切换分支,删除分支,配置git账号邮箱 git clone,git branch develop,git checkout release/1.0.1, git push origin :develop,git config
4.git flow init (git flow init -f 重新开始init)
开始master 后面develop
5. 创建新的feature分支 git flow feature start edit
6. 将新的feature分支推送到远程仓库 git push origin feature/edit
7.拉取最新代码并合并 git pull origin feature/edit
也可以用 git fetch origin/edit git merge origin/edit
8. 提交新代码到remote
·git status:检查变更,若没有变更,可能是ide未保存修改
·git add .:更新所有修改到本地仓库
·git commit -m “修改信息”:提交
·git push origin master:上传到remote
9.结束feature分支并push到远端git flow finish feature/edit git push
10.将develop合并到release
git checkout release
git merge develop
若有conflicts,解决完保存:wq
git add .
git merge --continue
11.merge和rebase区别
·merge不会改变历史,rebase会(但不是所有情况)
·merge会生成merge commit(但不是一定),rebase是一条整齐的线
*当需要合并的两条分支在同一条线上时,用rebase和merge结果一样,最终是fast forward,即把index移到最新节点