1.用户设置
1.1 设置用户名和邮箱
git config --global user.name "meng dan"
git config --global user.email "mengdantxt@163.com"
1.2 检查是否完成了输入
git config --list

2.缩写设置
Git有一些命令比较长,我们可以设置成缩写,比如checkout,利用以下的命令,可以将checkout设置成co,他们实现的功能一样
git config --global alias.co checkout
3.初始化Repository
sudo git init
 可以看到初始化的 .git 目录
ls -al

4.目录不想被git控制,把.git目录移除
sudo rm -r .git

5.创建文件后交给git
使用以下命令查看git状态
git status
 创建 welcome.html文件
touch welcome.html
在文件中输入 hello git
sudo vim welcome.html
按一下 Esc,然后输入:wq 保存退出  再次查看git状态
git status
显示未追加  把文件追加到git中
将文件加到暂存区
git add welcome.html

git add *.html %将所有的html文件都追加到暂存区中
git add --all %将所有的文件都追加到暂存区中
6. git add之后,又修改了文件内容
 再次查看git状态
git status
 只需要再次加入这个文件即可
git add welcome.html

7.把暂存区的内容提交到存储库
git commit -m "init commit"

没有内容,也可以commit
git commit --allow-empty -m "空的"
 也可以直接由工作区,直接上传到存储库中

8. 查看git记录
为了看到git记录,我们先多创建几个文件
touch index.html
sudo vim index.html
git add index.html
git commit -m "create index page"
 查看git记录,使用以下命令
git log
 想要输出结果精简,可以使用下面的命令
git log --oneline --graph

git log --oneline --author="mengdan"
git log --oneline --author="mengdan\|jibingxin"
git log --oneline --grep="index"
git log --oneline --since="9am" --until="12am"
git log --oneline --since="9am" --until="12am" --after="2017-01"
9.删除文件
可以把删除文件看作一次改动
rm 文件名
git add 文件名

使用git删除
git rm 文件名

10. 不删除文件,文件只是不受Git控制
git rm 文件名 --cached

11.变更文件名
mv 原文件名 目标文件名
git add 目标文件名
git 会将原来的文件删除,新增一个名为“目标文件名”的文件  
git mv 原文件名 目标文件名

12.修改Commit记录
如果是修改最后一次的commit记录
git commit --amend -m "更改后的内容“”

13.追加文件到最近一次的commit
commit 后发现漏掉一个文件(为什么会漏掉呢?因为有的文件并没有追加到git中,所以,当我们commit时,就会漏掉文件)  此时,执行以下命令
git add meng4 %先添加进来
git commit --amend --no-edit %commit一次

14.新增目录
git 是根据文件的内容,产生对象,当我们新建一个空的目录时,想要将这个目录将入到git中是不成功的,因为git 感应不到目录的存在,解决方法:只需要在目录中新建一个空的文件夹。
mkdir mulv
cd mulv
touch meng1
cd ..
git status
git add mulv
git status

15.部分文件不放在Git
在项目目录中,新建一个 .gitignore 文件,然后编辑这个文件(将想要忽略的文件写在这个文件中)比如,我们不想将meng2加入git
touch .gitignore
sudo vim .gitignore
将meng2写入到.gitignore

16.查看特定文件的commit记录
git log 文件名
查看这个文件每次的commit做的改动
git log -p 文件名
17.挽救已经被删除的文件或者目录
git checkout 文件名
 checkout 的意思是将上一层的文件版本覆盖当前的文件版本,那么如果想要使用上上层甚至更早的版本替换当前的文件版本,该如何做呢?
git checkout HEAD~距离现在的版本数 文件名
比如:
git checkout HEAD~2 meng2 使用距离现在两个版本以上的文件覆盖当前的meng2文件
18.commit后悔了,想要撤回
git rest id号
  git reset有3个参数,mixed soft hard mixed: 工作目录不变,暂存区会被删除 soft: 工作目录不变,暂存区不变 hard:工作目录被删除,暂存区被删除
|