分支管理
git 切换分支
> git checkout -b develop origin/develop
Switched to a new branch 'develop'
Branch 'develop' set up to track remote branch 'develop' from 'origin'.
git 查看远程分支
> git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/framework
remotes/origin/master
git 查看本地分支
> git branch
* master
git 创建本地分支
> git branch test
# 没有返回消息,表示成功,可用查看本地分支命令确认是否成功创建
> git branch
test
* master
git 删除本地分支
> git branch test -d
Deleted branch test (was 76b9582).
格式化问题
设置 git 下载到windows时不转换 LF 为 CRLF
>git config --global core.autocrlf false
git 拒绝提交包含混合换行符的文件
>git config --global core.safecrlf true
利用 git bash 将项目的所有文件换行改为 LF
# 在项目路径下,右键菜单选择 Git Bash Here,输入下面代码,最好在项目没有初始化前设置
find . -type f -exec dos2unix {} \;
远程仓库
git修改远程仓库地址
git remote set-url origin [新地址]
初始化仓库问题
先建了本地库,才建了远程库,这时候出问题
# 初始化git
git init
# 将本地代码暂存本地仓库
git add .
# 提交代码
git commit -m "初始化项目"
# 添加远程库
git remote add origin {远程仓库地址}
# 验证远程库地址
git remote -v
# 先拉去远程仓库
git pull origin master
# 再推送代码远程仓库
git push -u origin master
但执行到git pull时出现了以下错误
fatal: refusing to merge unrelated histories
在git 2.9.2版本发生的,最新的版本需要添加 --allow-unrelated-histories 告诉 git 允许不相关历史合并
# 允许不相关历史的代码获取
git pull origin master --allow-unrelated-histories
# 推送代码远程仓库
git push -u origin master
恢复代码到指定提交
git reset -hard 提交的commit id
恢复后,由于本地代码比远程分支旧
git push -f