• 【版本控制工具】 Git进阶1


    一.Git常用命令

      Git中的很多命令与Linux相同(比如修改,查询,编辑,移动等),这里可以参考我之前的一篇文章https://www.cnblogs.com/ywb-articles/p/10535739.html

      其他一些命令例如:

        git branch  查看分支(后接一个名字就是创建一个分支),如果后接-d 可以删除分支

        git commit -amend -m  修改注释

        touch  创建文件

        git status  查看git的状态

        git rm --cached  退回上一步(一般是撤销add)

        git checkout -- 文件  撤销更改

        git checkout 分支名  切换分支

        git log  查看日志 (如果只需要查看最近3次的日志,可以后接 -3 )

        git log origin/master  查看远程项目日志(origin/master是追踪分支,可以看做为一个本地master与远程相关联的分支)

        git blame 文件  查看文件提交记录

        更多命令可以查看官方文档

    二.Git的操作

      1.忽略文件

        如果需要忽略某些文件或文件夹,可以创建一个.gitignore文件(touch .gitignore),在文件中写入不需要提交的文件的名字即可(可以使用通配符*和非命令!)

      2.分支操作

        a.重命名分支git branch -m 之前的分支名  更新后的分支名

        b.如果两个分支不在同一点,一个分支中有修改,并add了,如果不commit,则无法切换分支(或者使用git stash保存现场后再切换)

        c.分支的删除是无法删除当前的分支的,只能切换到其他分支来删除

        d.如果删除某个分支时,该分支中有一些未合并的内容,会报错,如图所示

          

          解决方案:合并分支内容,然后再删除分支。(或者将-d改成-D,强制删除分支)

    git merge 分支名 #合并分支内容

         e.分支合并冲突:

          如果多个分支在相同的地方做了修改,在合并的时候会发生冲突,一般手动修改解决分支冲突问题。

        f.版本穿梭

          例如回到上一个版本:

    git reset --hard HEAD^  #如果想回退多个,则多加几个^

    git reset --hard HEAD~1  #可以指定回退版本的次数

    git reset --hard shal值  #可以跳到指定shal值的版本

          查看操作记录(可以看到所有操作记录,从而看到所有版本的shal值,结合git reset可以任意跳转版本,如果跳转到第一个版本,使用git log是看不到后面的版本信息,所以需要git reflog

    git reflog

        g.临时保存:

          一般一个功能或模块开发未完成是不应该commit的,那么可以使用stash保存现场

    git stash save "保存的文件名字"

          如果需要恢复之前保存的内容,首先应找到stash文件:git stash list,再恢复现场

    git stash pop  #默认找第一个,恢复后,stash会被删除。

    git stash apply stash@{0} #恢复后指定现场,stash也不会删除。可以使用git stash drop来删除

          

    三.Git图形工具

      Git常用的图形工具有GUI和gitk等(可以在网上找相应的教程,如:https://www.runoob.com/w3cnote/git-gui-window.html)

        GUI:git安装完毕后,鼠标右键除了Git Bash Here之外还有一个Git GUI Here,点击Git GUI Here即可打开GUI图形工具

        gitk:直接在Git Bash中输入gitk即可启动gitk图形工具

    四.Git配置多个ssh步骤

      例如我要在github的基础上添加gitlab的ssh,步骤如下

    ssh-keygen -t rsa -C "xxx.com" -f ~/.ssh/id_rsa_gitlab
    
      将公钥拷贝到gitlab中后,配置免密(方便操作,也防止克隆项目时使用的是管理员账号,导致输入自己的密码不对)
    ssh-agent bash
    ssh-add ~/.ssh/id_rsa_gitlab
  • 相关阅读:
    [LeetCode] Range Sum Query
    [LeetCode] Additive Number
    [LeetCode] Number of Islands II
    [LeetCode] Range Sum Query 2D
    [LeetCode] Range Sum Query
    [LeetCode] Smallest Rectangle Enclosing Black Pixels
    [LeetCode] Longest Increasing Subsequence
    [LeetCode] Bulls and Cows
    [LeetCode] Binary Tree Longest Consecutive Sequence
    [LeetCode] Serialize and Deserialize Binary Tree
  • 原文地址:https://www.cnblogs.com/ywb-articles/p/10959716.html
Copyright © 2020-2023  润新知