git 基础
master 为发版的分支
dev 为开发分支
新建git项目,连接远程仓库
- git init (git 初始化)
- git add. (添加项目)
- git commit -m '修改了新增功能' (提交项目)
- git remote add origin github.com/OliveKong/p… (连接远程仓库,根据需要修改仓库地址)
- git branch dev (新建本地dev分支)
- git push -u origin dev:dev (将本地的dev分支推送到远程的dev分支上)
git push -u origin dev:master(将本地的dev分支推送到远程的master分支上)
git push -u origin lt:dev(将本地的lt分支推送到远程的dev分支上)
一般本地分支最好与远程分支命名一样,好区分
已有git项目,拉取并合并代码
- 克隆分支
git clone https://github.com/OliveKong/poster.git(默认克隆master分支)
或者
git clone -b dev https://github.com/OliveKong/poster.git(克隆指定dev分支)
- 切换分支
如果你没有指定克隆分支,现在是在master上,你想要切换到dev分支上,可以使用
git checkout dev
- 修改dev了代码
- 提交注释
git commit -m '我修改了dev的代码’
- 拉取远程仓库代码
* 因为可能别人修改了代码并提交到远程仓库的dev分支上了,所以你需要拉取远程仓库dev代码
* 当多人合作使用git时,最好不要写项目里同一个文件,不然会有冲突,这时候你需要解决掉冲突,才能推送到远程仓库上去
git pull
1. 将远程指定分支 拉取到 本地指定分支上
git pull origin <远程分支名>:<本地分支名>
2. 将远程指定分支 拉取到 本地当前分支上:
git pull origin <远程分支名>
git fetch
1. 将远程指定分支 拉取到 本地指定分支上
git fetch origin <远程分支名>:<本地分支名>
2. 将远程指定分支 拉取到 本地当前分支上:
git fetch origin <远程分支名>
以上四种你可以任意选择一种方法
小知识:
fetch和pull的区别
fetch 当于是从远程获取最新版本到本地,不会自动merge
pull 相当于是从远程获取最新版本并merge到本地
git pull 相当于以下两个命令
git fetch origin <远程分支名> //先下载远程dev分支
git merge <本地分支名> // 合并到本地的dev分支
- 如果有冲突,解决冲突
- 推送到远程仓库
1. 将本地当前分支 推送到 远程指定分支上(注意:pull是远程在前本地在后,push相反):
git push origin <本地分支名>:<远程分支名>
2. 将本地当前分支 推送到与本地当前分支同名的远程分支上(注意:pull是远程在前本地在后,push相反):
git push origin <本地分支名>
- 附
将本地分支与远程同名分支相关联
git push --set-upstream origin <本地分支名>
查看命令
git branch 查看所有分支
git branch -a 查看所有分支,包括本地的和远程的
git status 查看哪些文件被修改了
git log 查看commit日志 q退出
git help 查看所有git命令
git branch --help 查看某个命令的详细说明
git revert commit_id 撤销一次commit,可以修改commit的说明
码云参考
