赞
踩
问题
和入代码出错,需要回退.平常也没学习这方面的东西.参考链接在下面
git
正常情况下,我们的工作就是3个步骤
git add .
git commit -m 'comment'
git push
需要先理解四个概念:
工作区 -- 暂存区--本地仓库 -- 远程仓库
平常工作修改代码,提交时先使用 "git add" 提交至暂存区,
再通过 "git commit " 提交至本地仓库,最后才能使用 "git push" 至远程分支.
1: 修改未暂存(git diff 这个命令只检查我们的工作区和暂存区之间的差异)
使用 "git diff" 或者 直接在编辑器看修改部分
2: 已暂存 未提交
使用 "git diff --cached" 能看到暂存区和本地仓库之间的差异
3: 已提交 未推送
使用 "git diff master origin/master" 能查看本地仓库与远程仓库的更改
撤销修改 1: 修改未暂存 在编辑器里修改了文件,但还没有执行 "git add . " , 可以使用 "git checkout ." 进行回退 2: 暂存未提交 已暂存, 未提交则使用 "git reset --hard" 进行恢复 "git reset --mixed" 用于将本地仓库文件撤回至工作区 3: 已提交未推送 此时已经提交在 本地仓库了,但是未 提交 可以使用 "git reset --hard origin/master"进行恢复 4: 已提交已推送 先恢复本地仓库,再强制push到远程仓库 4.1 "git reset --hard HEAD^ " (git reset --hard HEAD^ 回退版本信息,在Git中, 用HEAD表示当前版本,上一个版本就是HEAD^, 上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来, 所以写成HEAD~100。) 4.2 "git push -f" (git push -f表示将目前自己本机的代码库推送到远端,并覆盖) 4.3 git remote update origin --prune (本地更新远程分支)
git reset中 有三个命令(--hard、--soft、 --mixed)
git reset --soft xxx : 用于将文件提交至本地仓库后撤回暂存区的操作
git reset --mixed xxx: 用于将本地仓库文件撤回至工作区
git reset --hard xxx: 会将工作区、暂存区、本地仓库的所有提交的文件全都撤销
注意 git reset --hard 会删除工作区文件;更改大的话慎用
其他的常用git 命令
git branch : 查看当前分支
git branch -a : 查看全部分支
git checkout -b module-feature origin uat : 创建分支
git branch -d "分支名" 删除本地分支
git push origin --delete "分支名" 删除远程分支
// 多文件冲突解决(慎用)
git cherry-pick
将指定的提交(commit)应用于其他分支。
1 切换至 将要应用的分支 如 (master)
2 git cherry-pick "要提交的分支" (git cherry-pick gittest)
3 有冲突解决冲突,无冲突git push
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。