Git 使用
- 在工作区被修改的文件如果没有被提交到暂存区,文件会表示成modified 红色,执行完git add 后会被标识成modified 绿色
- 如果想从当前的目录会退到之前的某一次commit, 可以使用git reset --hard tree_shi_id, 具体如下图:会退到3 commit 这一次的提交
- git reset --hard HEAD 表示回归到当前的版本的没有改动的时候,当我们期望覆盖本地的错误改动的时候,就可以是用这个命令。
- 撤销代码修改
- 对于在暂存区的修改,可以先利用git rest HEAD filename 撤销
- 暂存区的修改被撤消后,再利用git checkout -- filename 去撤销工作区的修改
- 分支代码的更新与提交: 使用git push origin dev, 会在远程创建一个dev 分支, git pull origin dev, pull 远程的分支的代码
- git 分支合并
- 创建本地分支(git checkout -b dev),修改,然后git add, git commmit:
- 切换到master 分支git checkout master
- 在master 分支上执行merge: git merge dev
- 利用cherry-pick 进行本地分支合并
- 首先切换到本地dev 分支, git checkout dev
- 在dev 分支上完成开发,完成开发后,执行git add, git commit
- 查询提交的hash code, git log
- 切换到master 分支,执行git pull, 执行git cherry-pick <dev_commit_hash_code>, 则完成本地合并
- 在master 分支上执行git push origin HEAD:master, 完成到远端仓库的提交
- 删除 untracked files
- git clean -f: 删除 untracked files
- git clean -fd: 连 untracked 的目录也一起删掉
- git clean -xfd: 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
- 在用上述 git clean 前,强烈建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删:
- git clean -nxfd
- git clean -nf
- git clean -nfd
- git查看某个文件的修改历史
- 切换到目录
- git log --pretty=oneline 文件名
- git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e