常用git命令

建议先看这本书Pro Git,有中文的网页版https://gitee.com/progit/(如果马上要用的直接看干货)

直接干货:

git常用命令

  • git config --global user.name "name"

  • git config --global user.email "xxx@yy.com"

  • git init

  • 查看:git config -l git config --list

  • 重置多个user.name:git config --global --replace-all user.name "name"

  • 重置多个user.email:git config --global --replace-all user.emai "xxx@yy.com"

默认--global的配置文件存在用户目录下的.gitconfig目录下:

默认所有的name和email的信息为.gitconfig中的

  • 当前项目的 git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。

  • 如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

  • 查看当前分支:git branch

  • 查看所有分支:git branch -a

  • 切换到分支qqq: git checkout qqq

  • 拉取远程分支xxx:git pull origin xxx

  • 在远端分支remote1.1的基础上创建本地分支xxx写代码git checkout -b xxx origin remote1.1

  • 在xxx分支上写代码创建自己的新分支并切换到新分支xxx-y:git checkout -b xxx-y

  • 删除分支xxx-y:如果当前分支在xxx-y,先切换到其他分支,然后再git checkout -d xxx-y

  • 清除本地分支所有修改:git checkout -f

  • 重命名本地分支sss为yyy:git branch -m sss yyy

  • 本地分支sss推到远程:git push origin sss

  • 本地分支sss推到远程并且关联:git push -u origin sss

  • 删除远程分支sss:

    1. git push --delete origin sss

    2. git branh -d -r sss

  • 撤销本地分支xxx 推到远程yyy分支的记录:

    1. git checkout xxx 切换到xxx

    2. git log 查看commit的记录,找到需要回到的版本号12312312313

    3. git reset --soft 12312312313 soft的意思是回到12312312313这个版本号保留本地修改,hard是回到12312312313这个版本号清除所有修改

    4. git push yyy --force 强制推送版本号12312312313到远程,远程就只有版本号12312312313,想撤销的已经被覆盖掉

    5. 继续编辑代码 -> git add .

             -> git commit -m "this is a commit!"

             -> git push origin yyy

  • 合并分支yyy到xxx:

    1. 切换到xxx:git checkout xxx

    2. 合并yyy:git merge yyy

  • git add .

  • git add -u

  • git add -all = git add -A

  • git restore --staged .

  • git merge --abort

 

  • idea中git log的查看

  1. 绿色标签代表本地分支有的

  2. 紫色标签代表远程分支有的

  3. 黄色标签代表当前分支

 

  • git commit -m "" message的使用:

  • 查看版本差异:

    1. git diff:查看未暂存和上次commit之间差异,如果git add .后,就看不到了

    2. git diff --staged(--cached):查看已暂存和上次commit之间的差异

  • 重命名文件:git mv file_from file to

  • 移除文件:要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。

    1. 如果手动删除文件,git status会提示Changes not staged for commit

    2. 然后可用git rm 记录该次删除操作,git status 时就会提示Changes to be commited,

  • 查看提交记录git log 的使用:

    1. git log -p -2

      • -p 展示每个更新之间的差异
      • -2 展示最近2个
    2. git log --pretty=format:"%h %s" --graph

      • --graph 左侧展示ASCII字符串表示的图形
      • format 的参数:
      • %H 提交对象(commit)的完整哈希字串
          %h 提交对象的简短哈希字串
          %T 树对象(tree)的完整哈希字串
          %t 树对象的简短哈希字串
          %P 父对象(parent)的完整哈希字串
          %p 父对象的简短哈希字串
          %an 作者(author)的名字
          %ae 作者的电子邮件地址
          %ad 作者修订日期(可以用 -date= 选项定制格式)
          %ar 作者修订日期,按多久以前的方式显示
          %cn 提交者(committer)的名字
          %ce 提交者的电子邮件地址
          %cd 提交日期
          %cr 提交日期,按多久以前的方式显示
          %s 提交说明
      •  未完待续

原文地址:https://www.cnblogs.com/motorye/p/14190031.html