zoukankan      html  css  js  c++  java
  • git常用的基本命令

    需知:git分为暂存区和工作区。暂存区即为.git文件。工作区就是常用的区域
    
    git 的公钥配置:当我们使用https协议进行pull和push时,每次推送都会要求输入git的账户和密码,此方法很繁琐,我们可以使用git SSH传输。
                    git ssh传输时,要求用户必须有一个git公钥,具体使用方法为:1.ssh -T git@github.com(查看是否有公钥)2.ssh-keygen -t rsa -C "git帐户名" 设置本地公钥(一直enter)
                    3.设置本地公钥后,可在结果中看到公钥的放置位置,确定位置 4.获取本地公钥 cat /c/Users/Administrator.DESKTOP-LPVJDV9/.ssh/id_rsa.pub 
                    5.前往github中设置里,设置ssh,填写title并将本地公钥粘贴,保存后查看是否设置成功。6.设置成功后即可使用SSH传输方式,不需输入账户密码
                    注:如果已经在使用https协议拉下来代码了,则 1.git remote -v 查看传输类型 2.git remote rm origin 移除当前的https协议传输类型  
                        3.git remote add origin git@github.com:SmithJackZuo/reactDemo.git  设置git传输协议
                        4.查看传输协议类型,如果没有设置ssh,则重复上面步骤
     
    1.版本回退
      1.通过提交ID 回退
        git reset 5609309 --hard
      2.通过HEAD 回退
        git reset --soft HEAD^ 回退一个版本
        ^当前分支所指向提交的前一个提交;^^过多自然不太方便,可以使用HEAD~2表示。
      --soft 和 --hard的区别
      --soft 版本回退会保存当前暂存,版本回退后暂存的内容仍然在新的版本的暂存里。且老版本的修改内容全部都会显示在新版本的暂存里(可以看到新老版本的区别) 
      --hard 版本回退会直接删掉当前暂存的所有内容,并且在新版本的暂存区内任何老版本的修改内容,删除的比较彻底(无法看到新老版本的区别) 
    
    2.查看某个文件的修改记录和具体内容.
     记录:git log 文件路径文件名 或者git log --pretty=oneline 文件路径文件名。
     具体内容:git log -p 文件路径文件名
     git log --online  简洁版log
    
    3.比较上次提交commit和上上次提交
      git diff HEAD^ HEAD
    
    4.比较2个分支同一个文件的区别
      git diff branch 具体文件路径   git diff master src/project/account/addAccounts/components/addCards.vue
    
    5.从另一分支上拉某个文件的代码至当前分支
      git checkout origin/master 文件路径文件名。
      git checkout origin/master src/project/account/transDetail/components/index-view.vue
    
    6.版本回退
      1.查看回退版本ID
      git log --graph 或者git log --pretty=oneline
      2.根据 id 回退到指定的版本
      git reset --hard ID
    
    
    7.版本撤销
      git reflog 查看你的每一次命令,查看你的回退版本ID,
      git reset --hard ID 回退
    
    8.新建分支
      1.git checkout master
    
      2.创建并切换到新分支 git checkout -b panda
    
      git branch可以看到已经在panda分支上
    
      3.更新分支代码并提交
    
      git add *
    
      git commit -m "init panda"
    
      git push origin panda
    
      4.在git代码管理界面经可以看到panda分支了,成功~~
    
    9.提交记录合并(4条)
     git rebase -i HEAD~4
    
    10.查看某个节点的提交记录
    
       git show 节点名称 --stat
    
    11.获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。
       
       git cherry-pick 节点名称
    
    12.暂存机制
       git stash (暂存)   git stash list(暂存列表)  git stash apply stash@{0}(应用对应暂存)   git stash pop(删除list中的暂存,并应用最新暂存) git stash show  stash@{0}(查看对应暂存记录)
    
    13.git log 和 git reflog的区别
         
       git log可以查看所有提交过的版本信息(不包括删除和reset)
       git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
       
       例如执行 git reset --hard HEAD~1,退回到上一个版本,用git log则是看不出来被删除的commitid,用git reflog则可以看到被删除的commitid,我们就可以买后悔药,恢复到被删除的那个版本。
    
    14.分支的删除和恢复
    
       git branch -d 分支名 (删除分支) 如果没有合并,则使用 git branch -D 分支名
       git branch 原分支名 a12b74f (恢复分支)    恢复的分支ID 一般通过git reflog查看获取 或者删除分支时最后会有提示
    
    15.提交节点的管理
    
       1.调整节点的顺序: git rebase -i 节点ID  (确定范围) 进入vim编辑器,进去编辑模式(i),将pick 626dd60 的顺序改变到想要的位置 ESC :wq  注:调整节点可能会导致冲突
       2.删除节点  仍然进入vim编辑器, 将想要删除的节点的pick 改为drop ,退出保存.
       3.修改提交信息 git commit -m "提交信息".
         (1)如果是最近的一次的提交的话,可以随时修改:git commit --amend -m "新提交信息"。
        (2)如果想修改以前的提交信息,则仍然使用 git rebase -i 节点ID 进入vim编辑器,将pick 626dd60 的pick 修改为reword ,保存退出后,提示去修改信息名称,然后修改新的即可   
     
       总结:节点的操作命令在编辑器中有提示:P R E S F X D 。节点的管理主要通过进入vim编辑器修改节点的pick进行的。具体请看:https://www.softwhy.com/article-8641-1.html
    
       pick:保留该commit(缩写:p)
       
       reword:保留该commit,但我需要修改该commit的注释(缩写:r)
       
       edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
    
       squash:将该commit和前一个commit合并(缩写:s)
    
       fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
       
    exec:执行shell命令(缩写:x)
    
       drop:我要丢弃该commit(缩写:d)
    
    16.给节点新增标签
    
       git tag 标签名 节点ID (给节点新增一个标签),可以通过标签名查看节点修改记录(git show 标签名)
       注:Git中的分支和标签有点类似,都是引用或者说指针
       
       查看所有 标签:git tag  ;删除标签:git tag -d tagLearn
     
    17.新建一个文件,并在文件中写入:
    
        echo "我是谁" > render.txt
    
    18.删除暂存区的文件和删除暂存区和工作区的文件
    
       删除暂存区的文件:git rm --cached 删除的文件名  (工作区不受影响)
       删除暂存区和工作区的文件:git rm 删除的文件名  (同时删除,比较彻底)
    

      

  • 相关阅读:
    day02
    Hive_分区排序(Distribute By)
    flink添加水位线
    SparkSQL读写JDBC
    spark累加器及UDTF
    datax同步json中文乱码问题
    mysql踩过的坑
    spark算子
    spark分区计算方式
    git操作
  • 原文地址:https://www.cnblogs.com/8080zh/p/12564040.html
Copyright © 2011-2022 走看看