init
毫无疑问,这是学习git
使用的第一个命令。在本地初始化git
仓库。
1 | cd Demo |
表示切换到Demo
目录并在该目录初始化git
仓库。会生成.git
文件夹。
如图,是一个Android
初始工程目录,创建git
仓库后多出.git
文件夹。
status
查看仓库中文件状态。
1 | git status |
图中表示全部文件均未添加至仓库,无需要提交至仓库文件。
有些不需要提交至仓库的文件,可以添加到.gitignore
文件中。
.gitignore
文件内容:
.idea
.gradle
gradle
gradlew
gradlew.bat
local.properties
build
*.iml
add
添加文件至仓库。
1 | git add <file> # 添加一个文件至仓库 |
可以每次只添加一个文件(夹),也可以每次添加多个文件(夹)。甚至可以使用git add .
添加全部文件(夹)至仓库。
最新添加至仓库的文件(夹)会有new file
标记。
在未commit之前,修改文件,也能看见修改标记。
commit
提交文件至仓库。
1 | git commit -m 描述 #提交已在仓中的文件,不包括修改的内容 |
创建三种场景:
- 三个新文件。
- 其中一个文件修改过。
- 还有个文件夹未添加至版本库。
执行commit命令之后,再次查看提交前后的状态发现,修改的文件和为添加至版本库的文件没有提交。准确说,修改文件中的修改内容未提交至版本库。
log
提交记录
1 | git log # 查看提交记录 |
每条提交记录都对应一条40字节的id,该id在后面有很大用途。
branch
分支管理
1 | git branch # 查看全部分支,当前分支会有标记 |
图中依次显示了上述指令用法。需要注意,删除指定分支时,不可以删除被checkout
的分支。
tag
标签管理
1 | git tag # 查看全部标签 |
演示了创建标签,在指定id上创建标签,查看标签,删除标签。
查看标签信息。
查看自定义描述的标签信息。
remote
1 | 将本地仓库关联到远程库 |
如果需要同时关联多个远程仓库,如 GitHub 和 码云。
1 | 远程仓库名 github 关联到 github 仓库 |
push
1 | git push origin master # 将 master 分支推送到远程库 |
pull
1 | // 拉取远程分支 branch1 到本地分支 branch2 |