2.1基础 - Git常用命令
获取Git仓库
通常有两种获取 Git 项目仓库的方式:
- 将尚未进行版本控制的本地目录转换为 Git 仓库;
- 从其它服务器克隆一个已存在的 Git 仓库。
两种方式都会在你的本地机器上得到一个工作就绪的 Git 仓库。
Git命令 | 操作说明 |
---|---|
git init | 初始化仓库 |
git clone | 拷贝一份远程仓库,即下载一个项目 |
提交与修改文件
Git命令 | 操作说明 |
---|---|
git status | 查看仓库当前的状态,显示有变更的文件 |
git add [file] | 添加工作区文件到暂存区 |
git commit -m “log information” | 提交暂存区文件到本地仓库(记录日志信息) |
git rm [file] | 删除工作区与暂存区文件 |
git rm --cached [file] | 删除暂存区文件 |
git mv [file] [newfile] | 重命名工作区文件 |
-
状态:可以用 git status 命令查看哪些文件处于什么状态,Untracked files下的红色-未添加到暂存区,绿色-未上传到本地仓库
$ git status On branch master Untracked files: (use "git add <file>..." to include in what will be committed) hello.txt
-
查看文件:可以使用 cat [file] 命令查看 file 文件中的内容;
-
修改文件:可以用 vim [file] 命令进入文件内,使用 i 切换输入状态,修改文件后 :wq 保存并退出文件,修改文件内容后 status 显示modified 需要再次添加到暂存区、上传到本地仓库;
$ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: hello.txt
-
忽略文件:可以用 cat .gitignore 命令忽略指定类型的文件或指定文件夹下面的指定类型文件,如
$ cat .gitignore *.[oa] *~
第一行告诉 Git 忽略所有以 .o 或 .a 结尾的文件, 第二行告诉 Git 忽略所有名字以波浪符(~)结尾的文件。
GitHub 有一个十分详细的针对数十种项目及语言的 .gitignore 文件列表, 你可以在 https://github.com/github/gitignore 找到它。 -
撤销操作:git commit --amend 这个命令会将暂存区中的文件提交。 如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令), 那么快照会保持不变,而你所修改的只是提交信息。git checkout – [file] 这个命令会撤销最近的一次操作,Git 会用最近提交的版本覆盖掉它。
历史查询与版本切换
在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的工具是 git reflog 命令与 git log 命令。回顾历史之后你可能想要重置到某个版本,git reset --hard [value] 这个命令可以很好的完成这项工作。
Git命令 | 操作说明 |
---|---|
git reflog | 查看历史提交记录(简版) |
git log | 查看历史提交记录(详细) |
git reset --hard [value] | 回退到value指定版本 |
2.2基础 - Git分支
在Git中常用的分支命令有:创建分支、查看分支、切换分支、合并分支,相关命令如下。
Git命令 | 操作说明 |
---|---|
git branch -v | 查看分支 |
git branch [branch name] | 创建分支 |
git checkout [branch name] | 切换分支 |
git merge [branch name] | 合并分支 |
-
查看分支:可以使用 git branch 命令查看分支名称,另外,你也可以在 branch 命令后添加 -v 选项,查看各个分支的版本号;
-
创建分支:在当前分支下创建一个新的分支,相当于对当前分支的拷贝;
-
切换分支:切换分支会改变工作目录中的文件;
-
修改分支:可以使用 vim [file] 修改当前分支下的 file 文件,修改后需要重新 add 到暂存区以及 commit 到本地仓库,修改当前分支下的内容不会影响其它分支;
-
合并分支:可以使用 git merge [branch name] 合并指定分支到当前分支,若出现 合并冲突 ,需要使用 vim [file] 命令进入文件手动合并分支。