Git的日常使用

安装Git

  • 在 Ubuntu 这类 Debian 体系的系统上,可以用 apt-get 安装:
    $ sudo apt-get install git

  • 在Mac系统上安装: 先安装brew ,然后安装git:
$ brew install git

不要使用sudo brew instal git,会给出警告??
Git的基本设置
  • 首先我们对 Git 进行用户名和邮箱进行设置:
$ git config --global user.name "Jeremy" $ git config --global user.email veniveci@aliyun.com

这里个人信息设置的作用:是为你在代码提交时自动署名标记,方便查看提交日志时区分作者;
  • 设置 Git 推送分支时相关配置:
$ git config --global push.default simple

此设置是 Git 命令 push 的默认模式为 simple,当我们执行 git push 没有指定分支时,自动使用当前分支,而不是报错.
Git基本使用
  • 首先移动到项目所在根目录,对 Git 进行初始化:
$ cd project-directory $ git init

  • 将项目所有文件纳入到 Git 中:
$ git add -A

我们可以通过在 .gitignore 文件中进行设置,来选择忽略掉一些我们不想纳入到 Git 版本管理中的文件(如缓存文件)。因此上面描述的『所有文件』指的是没在 .gitignore 中被忽略的文件。
  • 检查 Git 状态
$ git status

上面命令将会向你输出存放在 Git 暂存区的文件
  • 保留改动并提交
$ git commit -m "Initial commit"

上面这行命令会将暂存区的文件都提交到 Git,-m 选项后面带的参数表示本次提交的简单描述。
$ git log commit 3bc20a45cdc17701e41a9cb0d8e398f5991607a4 Author: Jeremy Date:Sat Apr 7 21:38:17 2018 +0000Initial commit

从输出信息中可以很清晰的看到每次提交的作者、日期、描述等信息。注意看这里的 Author 项的内容就是我们上面设置的用户信息。
  • 使用 Git 进行恢复被删除文件:
$ git checkout -f

作用是将在暂存区的更改文件进行强制撤销。
  • 使用Git创建远端仓库(以GitHub为例)
$ git remote add origin git@github.com:your_username/hello_laravel.git

  • 使用Git推送到远端仓库
$ git push -u origin master

上面命令将本地的master分支pushorigin主机,同时指定origin为默认主机,后面可以不加任何参数使用git pushgit pull命令
  • 新建分支
$ git checkout master $ git checkout -b

从master分支上克隆一个新分支
  • 合并分支
$ git checkout master $ git merge Updating f42c576..3a0874c Fast-forward index.html | 2 ++ 1 file changed, 2 insertions(+)

合并回你的master分支上.
  • clone分支
$ git clone

多个远程仓库的管理
你要clone项目的URL,你本地创建的仓库名(如果你想使用Git默认的,可以不用写)
  • 添加多个远程仓库
git remote add

例如:添加一个命名为python的远程主机,其URL为https://github.com/hello-kitty/Python_Tutorial
?apprentice git:(master) git remote add python https://github.com/hello-kitty/Python_Tutorial

  • 查看有多少远程仓库
?apprentice git:(master) git remote -v originhttps://github.com/schacon/ticgit (fetch) originhttps://github.com/schacon/ticgit (push) pythonhttps://github.com/hello-kitty/Python_Tutorial (fetch) pythonhttps://github.com/hello-kitty/Python_Tutorial (push)

-v:会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。
  • 查看某个远程仓库的具体内容
?apprentice git:(master) git remote show origin * remote origin Fetch URL: https://github.com/schacon/ticgit PushURL: https://github.com/schacon/ticgit HEAD branch: master Remote branches: mastertracked dev-branchtracked Local branch configured for 'git pull': master merges with remote master Local ref configured for 'git push': master pushes to master (up to date)

上面是查看origin主机的内容,你也可以查看其它的。比如:git remote show python就是显示python主机仓库的详情
  • 拉取别的主机上的内容
?apprentice git:(master) git fetch python

现在你可以在命令行中使用字符串 python 来代替整个 URL。 例如,如果你想拉取 python 的仓库中有但你没有的信息,可以运行 git fetch python.
  • 远程仓库的移除与重命名
?apprentice git:(master) git remote rename python python3 ?apprentice git:(master) git remote origin python3 ?apprentice git:(master) git remote rm python3 ?apprentice git:(master) git remote origin ?apprentice git:(master)

如果想要重命名引用的名字可以运行 git remote rename 去修改一个远程仓库的简写名。 例如,想要将 python 重命名为 python3,可以用 git remote rename 这样做.
【Git的日常使用】如果因为一些原因想要移除一个远程仓库 - 你已经从服务器上搬走了或不再想使用某一个特定的镜像了,又或者某一个贡献者不再贡献了 - 可以使用 git remote rm ,例如上面移除python3的主机。

    推荐阅读