- workspace:工作区
- staging area:暂存区/缓存区
- local repository:或本地仓库
- remote repository:远程仓库
| 命令 | 说明 | 撤销操作 |
|------|------------|------------ |
| git add | 添加文件到暂存区/缓存区 |
git restore --staged <file>: 撤销对缓存区文件的缓存 | | git commit | 提交暂存区到本地仓库 |git reset --soft HEAD~: 撤销对本地仓库的提交 | | git push | 上传远程代码并合并 |git revert HEAD\|<commit_hash>: 撤销对远程分支的提交(注意代码是否已被其他人拉取) | | git reset | 回退版本,可以指定退回某一次提交的版本 | ------------ | | git status | 查看仓库当前的状态,显示有变更的文件。 | ------------ | | git diff | 比较文件的不同,即暂存区和工作区的差异。 | ------------ | | git rm | 删除工作区的文件 | ------------ | | git mv | 移动或重命名工作区文件 |------------ | | git remote | 远程仓库操作 | ----------- | | git fetch | 从远程获取代码库 | ------------ | | git pull | 下载远程代码并合并 | ------------ | | git log | 查看历史提交记录 | ------------ | | git blame | 以列表形式查看指定文件的历史修改记录 |------------ |
删除仓库文件
删除远程分支文件夹
git rm -r --cached directoryname
git commit -m "delete remote directory directoryname "
git push -u origin master(此处是当前分支的名字)
删除远程分支文件
git rm --cached filename
git commit -m "delete remote file filename "
git push -u origin master(此处是当前分支的名字)
同时删除本地和远程的文件夹
git rm -r directoryname
git commit -m "delete directory directoryname "
git push -u origin master(此处是当前分支的名字)
同时删除本地和远程的文件
git rm filename
git commit -m "delete file filename "
git push -u origin master(此处是当前分支的名字)
修改远程分支名
// 重命名本地分支
git branch -m 旧分支名 新分支名
// 删除远程旧分支
git push --delete origin 旧分支名
// 将新分支推到远程仓库
git push origin 新分支名
// 将本地分支与远程分支相连
git branch --track origin/新分支名
撤销git commit
git reset 命令用于回退版本,可以指定退回某一次提交的版本
git reset [--soft | --mixed | --hard] [HEAD]
- --soft 参数用于回退到某个版本
- --mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
- --hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:
! 注意:谨慎使用 –hard 参数,它会删除回退点之前的所有信息。
git切错分支开发
git add . (把所有改动暂存)
git stash (把暂存的文件提交到git的暂存栈)
git checkout 本该提交代码的分支
git stash pop (将暂存栈中的代码放出来)