Git 常用命令

   记录自己工作中常用的 Git 命令。随着使用 Git 时日渐长,不断更新,不断完善。方便自己在工作中随时复查,也算记录成长。


  1. 查询 Git 版本

    1
    $ git --version
  2. 配置用户信息

    1
    2
    $ git config --global user.name "123"
    $ git config --global user.email "123@126.com"
  3. 查看配置信息

    1
    $ git config --list
  4. 创建仓库

    1
    2
    3
    4
    # 使用当前目录当作仓库
    $ git init
    # 使用指定目录当作仓库
    $ git init newrepo
  5. 拷贝远程仓库

    1
    2
    3
    $ git clone [url]
    # 自定义本地项目名称
    $ git clone [url] [name]
  6. 添加文件到暂存区

    1
    2
    3
    4
    5
    6
    # 当前目录下所有文件
    $ git add .
    # 添加一个或多个文件
    $ git add [file1][file2]...
    # 添加指定目录,包含子目录
    $ git add [dir]
  7. 查看仓库文件变更状态

    1
    2
    3
    $ git status
    # 输出简短结果
    $ git status -s
  8. 比较文件的不同

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 尚未缓存的改动
    $ git diff [file]
    # 查看已缓存的改动
    $ git diff --cached
    # 查看已缓存的与未缓存的所有改动
    $ git diff HEAD
    # 显示摘要而非整个 diff
    $ git diff --stat
    # 显示两次提交的差异
    $ git diff [first-branch]...[second-branch]
  9. 提交到本地仓库

    1
    2
    3
    4
    # 将缓存区文件提交到本地仓库
    $ git commit -m [message]
    # 提交指定文件
    $ git commit [file1] [file2] ... -m [message]
  10. 操作远程仓库

    1
    2
    3
    4
    5
    6
    # 显示所有远程仓库
    $ git remote -v
    # 显示某个远程仓库
    $ git remote show [remote]
    # 添加远程仓库
    $ git remote add [shortname] [url]
  11. 拉取远程仓库并合并

    1
    2
    3
    4
    5
    6
    7
    8
    # 从远程获取代码并合并本地的版本
    $ git pull < 远程主机名 > < 远程分支名 >:< 本地分支名 >
    $ git pull origin
    # 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并
    $ git pull origin master:brantest
    # 如果远程分支是与当前分支合并,则冒号后面的部分可以省略,
    # 表示取回 origin/master 分支,再与本地的 brantest 分支合并。
    $ git pull origin master
  12. 推送远程仓库并合并

    1
    2
    3
    4
    5
    $ git push < 远程主机名 > < 本地分支名 >:< 远程分支名 >
    # 如本地分支名与远程分支名相同,可省略冒号后面部分
    $ git push < 远程主机名 > < 本地分支名 >
    # 强制推送 --force 参数
    $ git push --force origin master
  13. 暂存 / 还原本地修改
    描述:当本地有修改未提交时进行 pull,可能会出现错误:Please commit your changes or stash them before you merge.;此时,如不想提交又不想放弃,可进行暂存处理。

    1
    2
    3
    4
    5
    6
    7
    8
    # 先暂存本地修改,如配置文件之类不想提交的内容或未完成的内容
    $ git stash
    # 拉取最新代码,一般进行暂存都是因为拉取和本地冲突
    $ git pull
    # 还原暂存的内容(最后一版)
    $ git stash pop
    # 查看暂存栈内的列表
    $ git stash list

文章目录