Git学习笔记

Git 常用命令

1. 本机初始化设置

  1. 设置姓名和邮箱地址
    设置本机使用git时的姓名和邮箱地址
    git git config --global user.name "First name" git config --global user.email "yor_email@example.com"

  2. 提高命令的可读性
    git git config --gloabl color.ui auto
    使得命令的输出可读性增加

  3. 设置SSH Key
    当Git连接到仓库时,需要SSH密钥进行认证。我们需要在本机创建公开密钥,将其添加到Git中。
    git ssh-keygen -t rsa -C "your_email@example.com"
    创建密钥时需要输入密码,选择常用的密码。在Github中添加密钥时需要认证密码。
    创建的密钥存储在 .ssh/id_rsa.pub 中

2. 常用命令

  1. clone 仓库
    git git clone git@your_repository.git
    git@your_repository.git 是你的仓库的SSH clone URL,从GitHub中可以复制过来。

  2. 创建并初始化本地仓库
    新建一个本地仓库,并且进行初始化。
    git git init [project-name]

  3. Git提交常用命令

    • git add [file]
      将文件加入暂缓区

    • git commit -m "[descriptive message]"
      将暂缓区的文件保存到仓库中,-m 参数后的"[descriptive message]" 称作提交信息,为提交内容的概述。

    • git status
      查看Git的当前状况

    • git log
      查看提交日志。
      如果想让提交信息只显示一行,在git log 命令后面加上 --pretty=short
      查看文件的改动,可以加上-p , 文件的差别将会显示在提交信息之后。
      git log -p [file_name]

    • git diff
      查看工作树和暂缓区的区别。

  4. 分支的操作

    • git branch 显示分支,左侧带有“*”的为当前的分支。

    • git checkout -b branch_name
      创建并切换分支,"branch_name" 为分支的名字。这条命令相当于下面两条命令的集合
      git git branch branch_name git checkout branch_name

    • git checkout branch_name
      切换到branch_name分支

    • git checkout -
      切换到上一个分支.

    • git merge --no-ff branch_name
      先切换到主分支,然后创建合并提交。

    • git branch -d [branch_name]
      删除[branch_name]分支。

    • 消除冲突
      当我们进行合并操作之后,修改的地方会有冲突。> ======= 以上的部分是当前HEAD的内容,以下部分是将要合并的分支的内容,在编辑器中进行修改成我们想要的内容即可。
      修改完成后再次执行git addgit commit 命令,解决冲突。

    • git log --graph
      以图表的形式查看分支,可以看到分支的创建和合并的具体情况。

  5. 更改提交操作

    • git reset --hard [hard]
      回溯到提供的哈希值对应的时间点上。[hard]为哈希值。

    • git reflog
      git log 只能查看以当前状态为终点的历史日志。使用 git reflog 可以查看当前仓库的操作日志,可以查看到回溯历史之前的哈希值。

  6. 与远程仓库连接操作

    • git remote add origin [remot_repository.git]
      执行上述 命令之后,Git将会将[remot_repository.git]远程仓库名称设置为origin

    • git push -u origin master
      当前分支的内容将会被推送给远程仓库originmaster分支。-u在推送的过程中,将origin仓库的master分支设置为本地仓库的当前分支的上游(upstream)。

    • git clone [remote_repository]
      clone远程仓库到本地

    • git checkout -b new_branch origin/branch1
      -b 参数后面是本地仓库新建的分支名城,origin/branch1是获取来源分支的名城。该指令的意思为,以远程仓库的branch1 分支为来源,在本地仓库创建new_branch分支。

    • git pull origin [branch_name]
      获取远程的最新仓库并且merge到本地分支。

    • git push [alias] [branch]
      推送分支

    • git fetch

      • git fetch origin master
        获取远程仓库的内容更新到本地仓库,不会自动merge
        git log -p master ../origin/master 比较本地的master和origin/master分支的区别

        git merge origin/master 进行合并

      • 另一种合并方法

        git fetch origin master:tmp
        创建本地分支tmp,并获取远程仓库的master分支。

        git diff tmp 将当前分支与tmp分支进行比较
        git merge temp 将tmp分支合并到当前分支。

3. Git 存储

  1. git stash
    将所有没提交的修改全部存储起来。git stash是本地存储,不会通过git push 上传到服务器中。
    git stash save "message" “message”用来记录版本

  2. git stash pop
    重新应用缓存的stash,并且删除stash内容
    git stash apply 可以将存储的stash多次应用到工作区,并不删除stash拷贝

  3. git stash list
    显示现有的stash,可以使用git stash apply [stash_name]选择应用哪一个stash内容

  4. git stash drop [stash_name]
    删除指定的stash git stash clear 清除全部的stash

  5. 查看stash的不同
    git stash show [stash_name]
    显示stash 内容的更改。命令后面加入-p, --patch 可以查看到全部的不同

  6. 从stash中创建分支
    git stash branch new_branch 从stash中创建新的分支new_branch。

相关文章:

  1. 不存在
  2. vscode常用命令

提交评论

请先 后进行评论

评论列表

共有0评论