Git常用命令记录

1. git的全局配置

–global 代表是全局配置(只用配置一次)

设置用户名:

    git config --global user.name [用户名]
    git config --global user.name Visionary1455

设置邮箱:

    git config --global user.email [邮箱]
    git config --global user.email 15282219250@163.com

查看所有配置:

    git config --list

2. 本地常用命令

2.1 初始化项目

    git init

2.2 查看工作区的状态

    git status

2.3 添加工作区文件到暂存区索引(git能检测文件修改)

    git add [文件名]
    git add readme.md

2.4 删除暂存区的文件索引(git不检测文件修改)

    git rm --cached [文件名]
    git rm --cached readme.md

2.5 修改文件的提交

    git commit -m "[提交的注解]" [文件名]
    git commit -m "修改了readmen.md" readme.md      //commit之前必须先加入到文件暂存区
    git commit -am "修改后的文件,可以不用先加入到文件暂存区" readme.md

2.6 查看帮助

    git help [命令]
    git help add

3. 版本控制(对不同的版本进行回退)

3.1 查看所有的提交日志

    git log                    //查看所有的日志
    git log -n3                //查看前三个log
    git log --pretty=oneline   //只显示一行(只有当前版本及以前的)
    git log --onelie           //同上
    git reflog                 //用于版本回退或前进(推荐)

3.2 版本的前进后退

3.2.1 前进和后退

    git reset --hard [版本的hash] //可用于版本前进和后退

3.2.2 只能用于版本后退

    git reset --hard HEAD^^^^   //回退四个版本,(一个^回退一个版本)

    git reset --hard HEAD~[n]
    git reset --hard HEAD~4     //回退四个版本

3.3 reset的三个参数

3.3.1 --soft

不修改暂存区和工作区,指移动HEAD的指针到指定的版本

    git reset --soft [版本的hash]

3.3.2 --mixed

修改暂存区,不修改工作区,指移动HEAD的指针到指定的版本

    git reset --mixed [版本的hash]

3.3.3 --hard(推荐)

修改暂存区和工作区,指移动HEAD的指针到指定的版本

    git reset --hard [版本的hash]

4. 文本的对比

4.1 对比工作区和暂存区的文件

    git diff [文件名]
    git diff readme.txt

4.2 对比工作区和版本库中的文件

    git diff HEAD [版本hash] [文件名]
    git diff HEAD HEAD  readme.md   //对比当前版本的readme.md
    git diff HEAD HEAD^  readme.md   //对比上一个版本的readme.md

4.3 对比暂存区和HEAD

    git diff --cached [文件名]

5. 分支

5.1 查看所有分支

    git branch -v

5.2 创建分支

    git branch [分支名]
    git branch feature_game     //只创建分支
    git branch -b feature_game  //创建并切换到分支

5.3 前后当前所处分支

    git checkout [分支名]
    git checkout feature_game

5.4 删除分支

    git branch –d [分支名]  //删除已合并的分支
    git branch –D [分支名]  //删除未合并的分支

5.5 分支的合并(重要)

(1) 切换到接收合并的分支

    git checkout master

(2) 合并分支feature_game到master

    git merge feature_game
    git merge --allow-unrelated-histories       //合并两个不相干的分支

(3) 如果feature的parent的hash是master,就没有冲突,否则可能发生冲突(解决冲突)

    在冲突文件中相同修改的地方产生特殊符号如
    <<<<<<<HEAD
    xxxxx
    =====  上面部分代表上一个master版本的内容
    xxxxxx
    >>>>>>> master  //合并后的master版本的冲突内容,修改删除冲突符号

    xxxxx
    xxxxx

(4) 重新添加索引,提交日志(冲突的commit不加文件名)

    git add readme.md
    git commit -m "冲突解决"

6. 远程项目管理

6.1 添加远程git仓库

    git remote add origin http://github.com/xxx
    //orgin相当于一个远程仓库链接的别名

6.2 查看本地的所有远程仓库

    git remote -v
    //(fetch)代表用于拉去项目的url
    //(push)代表用于推送的url

6.3 远程推送

    git push [远程仓库url或别名] [本地分支名]
    git push origin master

6.4 远程拉去项目

    git pull [远程仓库url或别名] [本地分支名]   //拉取项目并合并
    
    相当于
    git fetch [远程仓库url或别名] [本地分支名]
    +
    git merge [远程仓库url或别名] [本地分支名]

6.5 远程项目的下载

    git clone [远程仓库url或别名]

6.6 设置ssh密钥(否则每次需要使用账号和密码登录)

    cd ~
    rm -rvf .ssh
    ssh-keygen -t rsa -C [邮箱]
    cd .ssh
    ll
    cat id_rsa.pub
    登录github-->头像-->setting-->SSH and GPG key
    复制id_ras.pub文件的内容粘贴到New SSH key

7.Git对象关系

7.1 三种对象

(1) tree    //文件和文件夹
(2) commit  //记录
(3) blob    //文件内容

7.2 文件及文件内容查看

    git cat-file -p hash值      //文件内容查看
    git cat-file -t hash值      //文件类型查看

7.3 分离头指针方式创建分支

    git branch fix 历史commit哈希值

7.4 图像界面查看分支及commit

    gitk -a

7.5 修改历史commit的Message

(1) git rebase -i 修改commit的上一个hash
(2) 在打开的vim中修改pick,为reword(保留提交,只修改message),保存退出
(3) 修改message,保存退出

7.6 清空暂存区、工作区

    git reset HEAD
    git checkout -- [文件名]        //工作区域暂存区保持一致
    git reset HEAD -- [文件名]      //暂存区域版本库HEAD一致

8 临时保存暂存区和工作区

8.1 保存

    git stash

8.2 查看所有临时保存

    git stash list

8.3 取出临时保存

    git stash apply     //只是取出
    git stash pop       //取出,并删除临时保存

9 忽略文件

    .gitignore      //.git同级目录文件

    匹配的内容,git status进行忽略

10 ssh链接

(1) 在~/.ssh目录中创建ssh密钥
    ssh-keygen -t rsa -b 4096 -C "邮箱"

(2) 再~/.ssh目录下复制id_rsa.pub中的公钥密钥
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值