git与svn的区别
git 命令
基础命令
- 初始化一个新的Git仓库
git init
- 克隆一个远程仓库到本地
git clone [仓库URL]
提交更改
- 将文件的更改添加到暂存区
git add [文件名]
- 将所有更改添加到暂存区
git add .
- 将暂存区的更改提交到本地仓库
git commit -m "提交信息"
分支管理
- 列出所有本地分支
git branch
- 创建一个新的分支(从当前分支创建新分支)
git branch [分支名称]
- 切换到指定分支
git checkout [分支名称]
- 将指定分支的更改合并到当前分支
git merge [分支名称]
- 删除指定分支
git branch -d [分支名称]
查看状态和历史
- 显示工作目录和暂存区的状态
git status
- 显示提交历史记录
git log
- 显示工作目录中未暂存的更改(diff 全称 different)
git diff
撤销更改
- 从暂存区撤销对文件的更改
git reset [文件名]
- 恢复到指定提交,并删除之后的所有更改
git reset --hard [提交的SHA]
- 创建一个新的提交,撤销指定提交的更改
git revert [提交的SHA]
远程仓库
- 显示远程仓库的URL
git remote -v
- 添加一个新的远程仓库
git remote add [远程名] [仓库URL]
- 将本地分支的更改推送到远程仓库
git push [远程名] [分支名]
- 从远程仓库拉取更改并合并到当前分支
git pull [远程名] [分支名]
- 从远程仓库获取所有分支的更新,但不自动合并
git fetch [远程名]
标签
- 创建一个轻量级标签
git tag [标签名]
- 创建一个带注释的标签
git tag -a [标签名] -m "标签注释"
- 列出所有标签
git tag -l
- 将标签推送到远程仓库
git push origin [标签名]
git相关场景
- 使用 git log 命令时,无法退出,只需要按“q”键,即可
- 合并多个连续的提交,然后再将合并后的提交推送到远程仓库
假设你有三个提交:A、B、C,你想将它们合并成一个提交。-
- 使用 git reset
git reset HEAD~3
- 使用 git reset
-
- 将更改重新添加到暂存区
git add .
- 将更改重新添加到暂存区
-
- 创建一个新的合并提交
git commit -m "新的提交说明"
- 创建一个新的合并提交
-