1、git init 创建git仓库用的
2、git status 可以查看当前仓库的状态
3、git diff 可以看到本次和上次修改的那些内容
4、git add 把现在所要添加的文件放入暂存区中
5、git commit 把git add的到暂存区的内容提交到代码分支上
6、git clone 从远程的仓库clone一份代码的时候,这是git clone会加上克隆的地址
7、git branch 可以查看当前的分支是什么
8、git checkout 可以用来切换分支
$ git init配置(config)
可以在配置文件.gitconfig中设置,配置文件一般在用户的HOME路径下。也可以通过命令行设置,如
$ git config --global user.email 邮箱机制
$ git config --global user.name 用户名
帮助(help)
有多种方式获取git的整体帮助,或者某个命令的帮助。
$ git help
# 获取某个命令的帮助 git help <command_here>
$ git help add
# 或者 git <command_here> --help
$ git add --help
忽略的文件 ignore files
明确令git不管理某些文件或者目录。通常这是开发者私有文件,或者临时生成的文件。把这些文件或目录名添加到.gitignore文件中。
$ echo"temp/" >> .gitignore
$ echo"private_key" >> .gitignore
状态(status)
显示当前工作区与暂存区(Index)的粗略状态。
# 显示某些文件已修改,哪些文件已准备提交等信息
$ git status
# 了解git status的更多用法
$ git help status
添加 (add)
将文件加入缓存区
# 添加文件
$ git add HelloWorld.java
# 添加子目录下的文件
$ git add /path/to/file/HelloWorld.c
# 通配符方式添加多个文件
$ git add ./*.java
# 添加工作目录下的所有文件
$ git add -A
分支(branch)
该命令用于管理分支。可以查看,修改,创建,删除分支。、
# 列出所有本质
$ git branch -a
# 创建新分支
$ git branch myNewBranch
# 删除分支
$ git branch -d myBranch
# 重命名分支: git branch -m <oldname> <newname>
$ git branch -m myBranchName myNewBranchName
# 修改分支描述
$ git branch myBranchName --edit-description
标签(tag)
管理标签,标签一般是对当前git仓库的快照设置一个标志。标签包括轻量(lightweight)与可标注(annotated),后者允许记录更多信息。
# 列出标签
$ git tag
# 创建可标注标签:-a表示可标注类型,-m 选项加一个说明
$ git tag -a v2.0 -m 'my version 2.0'
# 显示某个标签相关的信息
$ git show v2.0
# 把本端的标签v2.0(的版本)推送到远端
$ git push origin v2.0
# 把本端所有的标签(的版本)推送到远端
$ git push origin --tags
切换(checkout)
工作区的文件更换为某个分支或提交的版本.
# 切换到缺省分支,一般是master分支
$ git checkout
# 切换至某分支
$ git checkout branchName
#创建新分支并切换到该分支,等价于:"git branch <name>; git checkout <name>"
$ git checkout -b newBranch
克隆(clone)
克隆远端的git仓库至本地。并且为新创建仓库中的所有分支绑定对应的远端分支。
# 克隆
$ git clone URI路径
# 浅克隆-快速克隆。注意如果不设置–no–single-branch,只会克隆HEAD所在的分支。--depth表示克隆的最近版本数
$ git clone --depth 1 URI路径
提交(commit)
将缓存区(Index)中的内容提交到git仓库中
# 提交时填写说明(message)
$ git commit -m "Added multiplyNumbers() function to HelloWorld.c"
# 提交时带数字签名(由提交者的GPG密钥生成)
$ git commit -S -m "signed commit message"
# 自动将修改的文件加入缓存区(Index),再进行提交。
$ git commit -a -m "Modified foo.php and removed bar.php"
# 把本次提交与最后一次提交合并(删除最后一次提交,加入合并后的提交)
$ git commit --amend -m "Correct message"
显示差异(diff)