git init
把当前目录变成 Git可以管理的目录 git的很多命令 都要在git仓库中运行 可以说 git init是使用git的第一个命令
git clone
在使用git进行版本控制时 想要得到一个项目的拷贝需要知道这个项目的URL
git clone URL (这里使用http协议时需要记住自己的用户名和密码 )
git add . / git add -A / git add filename
提交修改 和新建到暂存区 . 和 -A 是提交所有 加文件名说明 制定的某一个
git commit -m “备注”
将暂存区的改动 提交到本地 版本库
git pull
git pull origin <远程分支名>:<本地分支名>
取回主机某个分支的更新 与本地的某个制定分支合并
git pull = git fetch + git merge
如 git pull origin master:dev
将远程版本库的master 拉过来 与本地的dev分支合并
git pull origin master
将远程版本库的master 拉过来 与当前分支合并
git push是git push origin master的一种简写形式
git push origin <本地分支名>:<远程分支名>
git push origin master 将本地master分支提交到 远机master
git push origin dev:dev2 将本地dev提交到远端dev2
git branch
git branch查看本地分支
git branch -a 查看本地与远端的分支
git branch -d branchName 删除本地分支
git push origin --delete branchname 删除远程分支
git checkout
git checkout master 切换到主分支
git checkout dev 切换到开发分支
git checkout 3e24e912e83c3b8c5f2445253bf8dbc62090f611 回到历史某个版本
git checkout -b dev 在本地创建一个dev分支
git push origin dev 将当前分支提交到远端dev
git log
获得历史版本
git relog 获取所有历史版本
git status
可以列出 被修改还未提交的文件
git remote -v
查看现有远程仓的url
git remote rm origin
断开仓库当前与其他远程仓的联系
git merge dev
将dev分支合并到当前所在的分支
git merge --abort
取消git合并分支
直接回滚不好 因为会进入merging状态
git reset --hard HEAD^
回退到上个版本
git commit —amend
git commit -m 之后还想再小修改一次 也就是想撤销上次的修改 重新提交一次 就用git commit —amend
(1)
场景 :代码推上因规范问题被打回 暂存区依旧会有一次提交
问题 :
先git status 显示一次提交
修改过后git status 显示一次提交 且部分文件的改动
解决:
git log查看提交历史 git reset版本号 回到最近的第二次【备份自己做出的修改,并且回去后为初次上交 】
git add -A
git commit -m “个人中心”
git push origin HEAD:分支名
(2)
场景 :远程仓库有更新 在本地更新代码
解决:
先切换回本地主分支 git checkout master
拉取代码 git pull
回到开发分支代码 git checkout dev
将主分支的代码合并到开发分支上 git merge master
git 设置能检测文件名大小写
(在需要配置的项目根目录下运行该命令)
git config core.ignorecase false