git_learn
Git
git分区

版本管理
版本回退
HEAD指向当前版本,HEAD^ 表示上一个版本,HEAD^^ 表示上上,往上100,即HEAD~100
git reflog查看命令历史以及要回到哪个版本
git reset --hard HEAD^
## 或者指定commit
git reset --hard 532cd2
管理修改
git checkout一般用来切换分支,还有一个重要作用就是撤销修改,丢弃工作区的修改,使其撤销到最近一次add或commit时的状态 注意要加 --
git checkout -- readme.md
git reset既可以回退版本,也可以把暂存区的修改回退到工作区,如撤销在commit之前的修改,使用 git reset HEAD readme.md 注意这里的HEAD就是表示已经在版本库上的最新版本,即可以将暂存区的的修改撤销放回工作区,再用checkout丢弃工作区的修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,可以使用版本回退git reset --hard HEAD^ 或者其它commit
删除文件
- 删除没用文件:工作区删除之后,版本库用git rm file然后 git commit
- 误删文件:将版本库的文件还原,git checkout -- file
提交远程仓库一般步骤
git checkout -b new_dev origin/main
git log
git pull
git add
git commit
git push --set-upstream origin/new_dev
git checkout main
git merge new_dev
git branch -D new_dev
fork更新
fork了别人的项目想要跟进源repo的更新, 命令如下:
### 查看remote url
git remote -v
### 添加源repo的远程源
git remote add upstream $url
### 确认是否添加成功
git remote -v
### 与源repo合并, 比如我这里是更新develop分支
git fetch upstream
git merge upstream/develop
git push origin develop

浙公网安备 33010602011771号