背景:需要将本地项目 project 提交到 Coding 进行多人协作开发
上传
把Project变成git可以管理的仓库
git init
查看仓库状态
git status
将本地文件放入仓库中 和添加Commit
git add *
git commit -m 'coding 1.0.0'
把本地仓库与Coding上的仓库关联
git remote add origin https://git.coding.net/yourCoding/yourProject.git
git remove -v
把本地仓库所有内容推送到Coding上
git push -u origin master
//第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
这样就可以了☺
提交修改
将代码Clone 到本地
git clone https://coding.net/你的路径
//clone 某一分支
git clone -b dev https://git.coding.net/...
代码修改,查看不同
git status
// 告诉你有文件被修改过
git diff JustErp/BaseWebVC.swift
// 代码修改,查看不同
提交修改的文件
git add . //把文件修改添加到暂存区
git commit -m "gittest" //把暂存区的所有内容提交到当前分支
git push
//强制提交
git push -u origin dev -f
查看历史提交记录
git log
版本回退
上一个版本就是HEAD^ ,上上个HEAD^^, 当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
//本地回退
git reset --hard HEAD^^
//本地回退后、远程回退
git push origin dev --force
回退后,重新恢复到某一个版本
git reset --hard 3628164
//版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了
回退版本的时候找到 commit id
git reflog
在工作区或者暂存区的时候,撤销修改
git checkout -- file
//git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
分支管理
团队分支管理图
git branch //查看分支
git branch dev //创建分支
git checkout dev //切换到分支
e.g.:
localhost:jst_dev clear$ git checkout -b crmPage
Switched to a new branch 'crmPage'
localhost:jst_dev clear$ git branch
* crmPage
dev
我们把dev分支的工作成果合并到master分支上:
git merge dev
删除分支
git branch -d dev
错误
git push 错误
git push
remote: 404 page not found
fatal: repository 'https://git.coding.net/u/...' not found
//解决方式
git remote rm origin
git remote add origin https://git.coding.net/.....git
分支冲突
//保存现在正编辑的状态
git stash
//保存的列表
git stash list
//恢复原来保存的状态
git stash pop