查看git版本号
git --version
配置邮箱和用户名
git config --global user.email "you@example.com"
git config --global user.name "name"
配置Gitlab的ssh key
配置ssh密匙后,clone的push时就不需要用户名和密码,配置ssh key流程如下:
1.使用如下命令生成ssh key对
ssh-keygen -o -t rsa -C "your.email@example.com" -b 4096
note: "-o"选项是2014年引入的,如果上面的命令没有用,把"-o"去掉再试一下。
生成ssh key前会提示输入文件名来保存key以及生成key的密码,都可以直接输入enter,默认公匙保存到~/.ssh/id_rsa.pub。
2.使用cat ~/.ssh/id_rsa.pub查看公匙,复制粘贴到Gitlab的用户设置->SSH密匙->Key中,点击添加迷匙即可。
克隆代码
1.一般克隆:克隆到当前目录并创建一个项目同名的目录下,当前分支是master。
git clone <远程仓库地址>
2.指定路径克隆:克隆到指定目录下,当前分支是master。
git clone <远程仓库地址> <目录路径>
3.指定路径指定分支:克隆后checkout指定分支。
git clone -b branch <分支名> <远程仓库地址> <目录路径>
切换分支
git branch -a #查看所有分支
git checkout <分支名> #检出分支/切换分支
查看状态
gti status #可以查看修改了哪些文件按
Diff
git diff用于比较两个提交之间的差异,有四种形式。
git diff #工作目录和索引之间的差异
git diff <commit> #工作目录和给定提交之间的差异
git diff --cached <commit> #索引和给定提交之间的差异
git diff <commit1> <commit2> #两个提交之间的差异,省略commit,默认为HEAD
提交修改
git add <files> #暂存指定文件
git add . #暂存所有文件
git commit -m "commit message" #提交修改
git commit -a/-all选项会导致执行提交之前自动暂存所有未暂存的和未追踪的文件变化,包括从工作目录删除已追踪的文件。
从远程版本库同步代码
git pull
提交代码到远程版本库
git push
放弃修改
1.没有使用git add缓存的,直接使用git checkout --filename放弃指定文件的修改,或者使用git checkout .放弃所有修改
2.已使用git add缓存的,使用git reset HEAD撤销所有的添加,git reset HEAD file_name撤销某一个文件的添加