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 删除的文件名  (同时删除,比较彻底)

  

posted on 2020-03-25 09:28  晓风零乱  阅读(233)  评论(0编辑  收藏  举报

导航