1、克隆团队库代码:
git clone http://8.135.123.224/zx-backend-dev/pjoy_backend.git
2、建立工作分支:最好每个功能一个分支
git checkout -b new_branch_name [基于某个分支:省略表示基于本分支]
3、日常开发提交代码:
git add 文件1路径 文件2路径。。。
git commit -m "提交描述"
git push origin 分支名称(线上分支和当前分支名称相同)
4、合并代码(单个功能开发完成):
发起合并请求:
(1)、如果有{n}条提交需要合并:先在本地合并成一条然后提交上去
git rebase -i HEAD~{n}
把第一条记录后面的名字全改为f:保存
git push -f origin branch_name
(2)、如果有冲突:
git pull --rebase origin master(master为需要合并的分支名称) #rebase时会中断要求解决冲突
解决冲突 -> add -> commit
git rebase --continue #到此冲突解决了继续rebase,rebase完成
git push -f origin branch_name
(3)、合并
5、拉取合并线上代码:本地代码已合入远程库master(说明已经没有冲突了)
git pull --rebase origin master
6、保留更改切换分支
git stash save
git checkout branch
git stash pop
7、远程库操作:第一次给远程仓库传递代码时先pull(git pull origin master --allow-unrelated-histories)然后push(git push origin master)
git remote -v 查看本地远程仓库地址
git remote rm origin 删除本地仓库地址
git remote add origin + 远程仓库地址 添加远程仓库地址
git remote set-url origin 远程仓库地址 修改远程仓库地址
8、add 、commit 、pull等操作后的回退(工作区add暂存区commit存储区)
执行git add
之后,发现误添加了某个文件提交到了暂存区,可以通过以下命令撤回到工作区:
git reset HEAD <文件名>
如果想将所有暂存区的文件撤回到工作区:
git reset HEAD
如果执行git commit
之后,因为某种原因想撤销提交但仍然保留commit之前的修改,可以通过以下命令撤销提交:
# 将暂存区最近一次提交到Git目录的文件全部撤回到暂存区
git reset --soft HEAD^
如果想将git commit
和git add
一并撤回:
# 将暂存区最近一次提交到Git目录的文件全部撤回到暂存区,且将暂存区的文件全部撤回到工作区
git reset --mixed HEAD^
# 等同于该命令
git reset --soft HEAD^ && git reset HEAD
如果不想保留最近一次提交的所有修改:
git reset --hard HEAD^
(1)查看历史版本
git reflog
(2)回退到自己想回退到的版本
git reset --hard HEAD@{n}
git checkout -- filename
是让某一个文件回到最近的一次commit或者add
git checkout . 这个是回退所有修改的文件