git 不同场景应用
git pull 时每次都要输入用户名和密码的解决办法 git bash进入你的项目目录,输入: git config --global credential.helper store 用远程的强制覆盖本地 使用场景,本地代码修改错误需要强制远程服务器最新版本覆盖本地版本 git fetch --all git reset --hard origin/master git pull 强制覆盖本地命令(单条执行):(有时无效) git fetch --all && git reset --hard origin/master && git pull 注:只能覆盖远程仓库存在的文件,无法覆盖本地新增而却没有add添加到暂存区的文件。 删除文件(包括目录) rm -r home.txt // 删除home.txt文件 -r 是递归删除子嵌套的文件 新建目录 mkdir home // 创建home目录 新建文件 touch home.txt // 新建home.txt文件 用本地代码覆盖远程 使用场景:同事提交了到远程的代码与自己的本地有冲突风险,且本地代码是最新的,远程是旧的。 风险:同事的代码会丢失。 第一步:git add . // 添加当前修改的代码到暂存区 第二步:gigit commit -m 'fix' // 提交暂存区的内容到本地版本库 第三步:git pull // 注:切记不能执行git pull 直接执行第四步 第四步:git push -f // 用本地版本库覆盖远程版本库 回撤commit(没有push) 场景:针对本地仓库commit后没有push的情况下,执行后的状态是暂存区也就是add git reset --soft HEAD^ 版本回退 git reset --hard commit_id 本地回撤至该版本(会彻底删除之前push) git reset commit_id 本地回撤至该版本,该版本之前的push和本地修改会回到暂存区状态 需要远程仓库也回退值该版本 git push -f 强制推送至远程仓库(后果会清掉该版本之后的提交记录,别的同事无法通过git pull拉取你强制覆盖到远程仓库的代码,只能通过git fetch --all强制本地)谨慎操作 创建txt文件并写入内容 touch index.txt // 创建index.txt文件 vim index.txt // 使用vim打开index.txt文件 i // 按i进入编辑模式 esc // 按esc退出编辑模式 :wq + 回车 // 输入:wq后按回车键(保存输入的内容) cat index.txt // 查看index.txt文件内容 如果commit注释写错了,只是想改一下注释,只需要: git commit --amend 创建分支和合并分支 git checkout –b dev 创建dev分支 并切换到dev分支上 ,相当于执行了下面 git branch dev git checkout dev git branch 查看当前所有的分支 git checkout master 切换回master分支 git merge dev 在当前的分支上合并dev分支 git branch –d dev 删除dev分支 git branch name 创建分支 git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作 git stash list 查看所有被隐藏的文件列表 git stash apply 恢复被隐藏的文件,但是内容不删除 git stash drop 删除文件 git stash pop 恢复文件的同时 也删除文件 git remote 查看远程库的信息 git remote –v 查看远程库的详细信息 git push origin master Git会把master分支推送到远程库对应的远程分支上