git代码托管平台
https://github.com/
https://dev.tencent.com/
https://gitee.com/
新建线上仓库
new respository
填写 respository name
选择public20:53 2019/6/7
得到一个线上地址
到本地代码的位置
鼠标右键打开git bash here
执行 git init
配置用户名和邮箱
git config --global user.name “XDLRanger”
git config --global user.email “18081003141@163.com”
通过三步操作将本地代码推送到线上
1、 git add .
将所有文件添加到缓存区
2、 git commit -m “本次提交所做的修改”
将代码提交到本地仓库
3、 git remote add origin https://github.com/XDLRanger/dary-project.git
将本地仓库跟线上仓库进行关联
4、 git push origin master
将本地仓库推送到线上(可能需要多次输入用户名密码)
5、 修改之后可以使用 git status查看状态
6、 修改之后再执行
git add .
git commit -m “本次提交所做的修改”
git push origin master
7、 git clone git地址
把线上的仓库克隆到本地
feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动
git指令大全:
-
git status查看状态,查看当前修改的文件
-
git diff path path指的是具体的某个文件,可以查看指定文件修改前与修改后的内容
-
git restore path path指的是具体的某个文件,将指定文件修改后的内容恢复成修改前的内容
-
git restore --staged path path指的是具体的某个文件,可以将已经执行git add .的文件恢复到未执行git add 之前
-
git config --list 查看git所有的配置信息
-
git config --global user.name “Your_username” 切换git用户账号
-
git config --global user.email “Your_email” 切换git邮箱
-
git branch -a 查看线上所有的分支
-
git remote -v 查看线上仓库地址
-
git checkout -b dev origin/dev 切换到线上的dev分支(该dev分支可能是别人的分支)
-
git checkout/switch(最新) dev 切换到dev分支
-
git checkout . 放弃工作区中全部的修改(放弃本地的全部修改)
-
git checkout – filename 放弃工作区指定文件的修改(这是不可逆的操作,会直接覆盖)
-
git checkout -f 强制放弃工作区文件的修改
-
git cherry-pick commit版本号 将本次提交合并到当前所处的分支
-
修改仓库地址
// 删除原来的仓库地址 git remote rm origin // 添加新的仓库地址 git remote add origin 你的新远程仓库地址
-
git push origin develop:master -f 把本地的develop分支强制(-f)推送到远端master
-
git push -u origin XXXXX 线上没有该分支,将本地代码推送到线上并创建线上分支
-
git log 查看每一次commit到本地仓库的版本
-
git reset --hard 版本号 回退指定commit提交,当前版本之后的commit全部丢失
-
git revert -n 版本号 根据版本号创建一个指定版本号的新版本,commit不会丢失
-
git clone -b zf git地址 拉取指定分支zf分支上的代码
-
git checkout -b zf 基于某个分支,新建一个zf分支
-
git push origin localBranchName:remoteBranchName 推送时指定本地和远程的分支的名称
-
git branch 查看所有的分支,*表示正处于当前分支
-
git branch -D 分支名 删除某个分支
-
git rebase --abort /git reset --merge/git merge --quit 退出当前变基状态
-
git merge 分支名(dev) --squash squash表示dev分支的所有commit打包到一起,然后再进行merge
合并冲突:
-
操作步骤:
- 首先将自己的分支推送到线上的该分支
- 切换到dev分支,git pull origin dev拉取线上的dev分支的最新代码
- 切换到自己的分支
- 执行git rebase dev指令,进入到变基的状态(基于dev分支,进行变基)
- 冲突位置处:
当前的
指的是线上dev分支的代码,最新的
指的是自己分支上的代码,自己选择合适代码保留 - 解决部分冲突之后,可以执行
git add .
命令进行提交到缓存区,然后执行git rebase --continue
继续进行解决代码冲突,然后再执行git add .
以及git rebase --continue
,当代码冲突解决完成之后,会提示Applying
。
- 冲突位置处:
- 执行git rebase dev指令,进入到变基的状态(基于dev分支,进行变基)
- 当dev分支上的代码冲突解决完成之后,此时自己在本地分支上的代码与上传到自己分支上的代码又会出现冲突,因为此时本地分支上的代码已经基于了dev分支作出了改变,此时需要再解决线上的自己的分支与本地分支的代码冲突
- 在处于自己的分支下,直接
git pull origin 线上自己的分支名
线上的自己的分支中的代码,pull下俩之后,就会自动进入到解决代码冲突的界面
- 在处于自己的分支下,直接