1.设置用户名和邮箱:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
注意:git config
命令的--global
参数,用了这个参数,表示这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
2.查看仓库状态:git status
3.查看文件修改内容:git diff <查看的文件>
4.查看提交历史:git log
git log命令显示从最近到最远的提交日志。如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline
参数,效果如下:
注意:
1)如果在是结合IDEA的Terminal使用git命令,输出中文时可能会出现乱码情况,此时,修改git安装路径下的bash.bashrc文件,在文件最后添加如下两行,然后重启IDEA:
export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8"
2)退出git log命令:英文状态,按一下Q;
5.将需要提交的代码从工作区添加到暂存区:git add [参数] <路径>
1)git add . :将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录
2)git add -u . :-u 表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件。注意这些被删除的文件被加入到暂存区再被提交并推送到服务器的版本库之后这个文件就会从git系统中消失了。
3)git add -A . :-A 表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。
6.将暂存区里的改动给提交到本地的版本库:git commit
每次使用git commit 命令都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里。
1)git commit -m ‘message’:-m 参数表示可以直接输入后面的“message”,如果不加 -m参数,那么是不能直接输入message的,而是会调用一个编辑器一般是vim来让你输入这个message, message即是我们用来简要说明这次提交的语句。
7.将本地版本库的分支推送到远程服务器上对应的分支:git push
git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master,即是将本地的master分支推送到远程主机origin上的对应master分支,origin是远程主机名。第一个master是本地分支名,第二个master是远程分支名。
1)git push origin master :如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建;
2)git push origin :refs/for/master :如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin –delete master;
3)git push origin:如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支;
4)git push:如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名。
8.版本回退:git reset --hard <版本号>
在Git中,用HEAD
表示当前版本,也就是最新的提交,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。
1)git reset --hard HEAD^:回退到上一个版本;
9.查看所有分支的所有操作记录
(包括已经被删除的 commit 记录和 reset 的操作):git reflog
10.创建并切换分支
:git checkout -b <分支名>
git checkout
命令加上-b
参数表示创建并切换,相当于以下两条命令,如新建dev分支:
git branch dev
git checkout dev
11.查看当前分支
:git branch
12.删除分支(如删除dev分支):git branch -d dev
13.克隆远程仓库到本地
:git clone 分支仓库地址 -b <分支名>,如克隆dev到本地:
git clone https://github.com/abc.git -b dev