罗列一下常用命令:
创建版本库
命令 | 描述 |
---|---|
git clone <url> | 克隆远程版本库 |
git init | 初始化本地版本库 |
修改和提交
命令 | 描述 |
---|---|
git status | 查看状态 |
git diff | 查看变更内容 |
git add . | 跟踪所有改动过的文件 |
git add <file> | 跟踪指定的文件 |
git mv <old> <new> | 文件改名 |
git rm <file> | 删除文件 |
git rm --cached <file> | 停止跟踪文件但不删除 |
git commit -m “commit message” | 提交所有更新过的文件 |
git commit --amend | 修改最后一次提交 |
查看提交历史
命令 | 描述 |
---|---|
git log | 查看提交历史 |
git log -p <file> | 查看指定文件的提交历史 |
git blame <file> | 以列表方式查看指定文件的提交历史 |
撤销
命令 | 描述 |
---|---|
git reset --hard HEAD | 撤销工作目录中所有未提交文件的修改内容 |
git checkout HEAD <file> | 撤销指定的未提交文件的修改内容 |
git revert <commit> | 撤销指定的提交 |
分支与标签
命令 | 描述 |
---|---|
git branch | 显示所有本地分支 |
git checkout <branch/tag> | 切换到指定分支或标签 |
git branch <new-branch> | 创建新分支 |
git branch -d <branch> | 删除本地分支 |
git tag | 列出所有本地标签 |
git tag <tagname> | 基于最新提交创建标签 |
git tag -d <tagname> | 删除标签 |
合并与衍合
命令 | 描述 |
---|---|
git merge <branch> | 合并指定分支到当前分支 |
git rebase <branch> | 衍合指定分支到当前分支 |
远程操作
命令 | 描述 |
---|---|
git remote -v | 查看远程版本库信息 |
git remote show <remote> | 查看指定远程版本库信息 |
git remote add <remote> <url> | 添加远程版本库 |
git fetch <remote> | 从远程版本库获取代码 |
git pull <remote> <branch> | 下载代码及快速合并 |
git push <remote> <branch> | 上传代码及快速合并 |
git push <remote> :<branch/tag-name> | 删除远程分支或标签 |
git push --tags | 上传所有标签 |
使用过程中遇到的一点问题
- git commit -m “”
向本地仓库提交更改
每次提交之前都需要先执行git add ,添加需要向本地仓库提交的文件后才能执行提交命令,可以更改多个文件,只提交其中的一部分,但此时不能够切换分支,可以通过git status查看所有状态的文件。 - git push x y 命令把本地仓库提交到远程仓库,该命令的意思是提交本地中的
y
分支,不是将当前仓库提交到远程仓库的y
分支。 - git pull x y 命令是拉取远程仓库到本地仓库,命令中的y是指远程仓库的分支,是把远程分支
y
拉到本地当前使用的分支。这一点跟上一条的命令不同。 - 在分支A下创建一个文件,在未提交到本地仓库之前,所有分支都会显示,一旦提交到本地仓库,在其他分支就不会再显示该文件。