git的学习笔记

一、Git文件的四种状态

  1.untracked : 未被追踪的

  2. modified(改进的) : 表示已经修改,和版本库有区别

  3. staged  : 表示把工作区修改的文件添加到暂存区但并没有提交到版本库

  4. commited : 表示数据安全的存储在本地库中

二、git 常用命令

  1.git init  : 初始化git仓库,然后出现.git的文件

  2.git config   user.name  zhangshunwei

     git config    user.email  1418984979@qq.com

   git config  --list : 查看git的配置信息   

  3.git add : 把文件添加到暂存区

   git add .  : 把所有工作区文件进行提交

  4.git status : 查看项目文件状态

   git status -u : 可以查看文件夹里面的文件

  5.git commit : 把文件添加到本地库   git commit -m " 提交添加的提示语"

  6.git log : 查看提交的记录

   git log --oneline : 每次提交只查看一行的关键信息

   git log  -7 -p   : 查看最近7次的提交具体的信息

   git log -p : 可以具体查看添加的信息

三、git撤销指令

  1. git commit --amend : 撤销上一次的提交,并将缓存区的文件重新提交

  2. git checkout(工作区)  文件名字(filename) :  撤销缓存区的文件替换工作区的文件

   git checkout HEAD  :  版本库的文件替换工作区和缓存区

   git checkout    .    :  撤销缓存区所有的文件并且替换工作区

  3. git reset HEAD(缓存区)  文件名字 :  拉取最近一次提交版本库中的这个文件到缓存区

   git reset (提交的版本号)  文件名字 

   git reset --hard HEAD(版本号)  :      可以撤销工作区和暂存区回退到版本库中的状态

                 --mixed  HEAD(版本号)  :  版本库和暂存区回退到指定的版本号,工作区不受到影响

         --soft  HEAD(版本号) :       版本库回到指定版本号,暂存区和工作区不受影响

四、git的删除指令

  1. git rm --cashed 文件名字  : 保留工作区,删除缓存区的文件

  2. git rm -f 文件名字  : 强制删除工作区和暂存区文件

  3. git mv oldname  newname  : 将原来文件名字修改为新的文件名  

  4. git diff .   : 比较缓存区和工作区的不同

   git diff  --staged  :  比较缓存区和版本库的差异

   git diff  --cashed :  比较缓存区和版本库之间的差异

   git diff HEAD      : 比较工作区和版本库之间的差异

     git diff  版本号1  版本号2

   git diff  分支1  分支2

五、创建分支

  1. git branch  :  查看分支

  2. git branch  分支名  : 创建新的分支名字

  3. git checkout  分支名  : 切换相应的分支名

  4. git branch  -d  分支名  :  删除相应的分支名

  5. git branch -m oldbranch  newbranch : 改变分支的名称

  6. git checkout  -b  分支名字  : 创建分支并且切换到那个分支

  7.git merge  分支名1  : 当前的分支与分支名1进行合并

六、创建远程仓库

  1. git  push(推送)  -u  远程仓库的地址   分支名   :   将项目推送到远程仓库里面

  2. git pull(拉取)   远程仓库的地址   分支名  : 将项目拉取到远程仓库里面 

   git clone : 从远程仓库复制一份到你本地仓库 

   clone是将一个库复制到你的本地,是一个本地从无到有的过程
      pull是指同步一个在你本地有版本的库内容更新的部分到你的本地库

七、key密钥的生成

  1.ssh-keygen

八、忽略某些文件

  创建git的.gitignore文件,在里面添加忽略的文件 (例如:  * . so )

九、git 找回丢失的commit

    1. git reflog  
    2. 502dd0f HEAD@{0}: HEAD~1: updating HEAD  
    3. 147b3b5 HEAD@{1}: commit: test3  
    4. 502dd0f HEAD@{2}: commit: test2  
    5. 0692c03 HEAD@{3}: commit (initial): test1  
    6.   
    7. git reset --hard 502dd0f  
    8. git cherry-pick 147b3b5 

使用git cherry-pick加上147b3b5你要提出的hash数值

原文地址:https://www.cnblogs.com/liunx1109/p/9704078.html