Git 代码基本上传操作
git help 帮助:查看所有命令
简易的命令行入门教程:
Git 全局设置:
git config --global user.name "星哥"
git config --global user.email "teaching@qq.com"
创建 git 仓库:
git status //查看仓库状态
git init //文件进行初始化,显示.git文件
git add . //把所有文件提交到暂存区
git commit -m "first commit" //提交仓库描述
git remote add origin https://gitee.com/teaching/teaching.git
git push -u origin master
已有仓库?
cd existing_git_repo
git remote add origin https://gitee.com/teaching/teaching.git
git push -u origin master
查看当前commit版本?
git log //查看git号 进行操作回滚
git log -1 --pretty=format:%H 查看当前所在仓库的 commitID
Git代码下拉操作
`git pull` 更新代码到当前仓库
`git pull origin develop` 拉取远程develop分支到本地并且合并代码
`git checkout . ` 注意要写点, 我这不是写错哈,git pull 发生文件冲突时候使用
`git reset --hard HEAD^ ` 回退上一个版本
分支相关
理解分支
举例线上和线下都有2个分支 分别是 master
和 develop
分支
小白注意:线上和线下分支名都一样,但是他们属于不同的仓库都可以单独存放不同的代码
分支冲突理解
- 举例:A和B用户
- A用户修改了index方法提交了代码
- B用户修改了index方法提交了代码
- 冲突:此时就需要解决冲突然后提交代码
- 注意:假如我是A用户解决冲突的时候我选择了B的代码提交,然后B又修改了代码,呢我没有更改的情况下会一直默认走B的代码,此时就再无冲突。除非我又改了代码。我不认可B代码,此时B也改了代码,会再次冲突。
`git branch` 查看当前所在分支 或 查看所有分支
`git branch develop` 创建新分支
`git branch -d develop` 删除develop分支
`git checkout develop` 切换到 develop分支上
`git merge develop` 把develop上分支代码合并到当前所在的分支
`git pull origin develop` (常用)拉取远程develop分支到本地并且合并代码
`git pull --rebase origin develop` (未研究透)拉取远程分支并且合并 没有增加多余节点。但是有时候拉不下来不好使)
理解git pull 和 git fetch
`git pull` 直接拉取线上最新代码
`git fetch` 获取远程所有分支当前最新的代码 改变当前所有分支仓库的 commitID,不进行合并代码。
`用途`:当前 develop分支紧急更新了bug 但是马上他又要提交今天写的代码到develop仓库,呢merge分支赶紧把他更新的bug合并下,避免git pull 只会拉取最新的代码。
`git fetch` 配合 git merge 使用最佳
`git merge origin/develop` 把develop 合并到当前所在的分支上并且生成
标签管理
查看所有标签 git tag
创建标签 git tag v1.0.1
指定提交信息 git tag -a name -m "comment"
删除标签 git tag -d name
标签发布 git push origin v1.0.1