clone代码
clone所有分支:git clone [url] [本地文件夹名]
clone指定分支:git clone -b 分支名称 [url] [本地文件夹名]
查看所有远程分支:git branch -r
切换分支:git checkout -b 分支名称
本地仓库关联到远程仓库:git remote add origin [url]
git配置
git配置文件全都是简单的.ini文件风格的文本文件,支持不同层次的配置,优先级从小到大依次为:
-
/etc/gitconfig 全局的配置设置,这个文件也可能在/user/local/etc/gitconfig,也可能是完全不存在
-
~/.gitcofnig 用户特定的配置设置,可以通过--global选项修改,win系统在%USER_PROFILE%/.gitconfig
-
.git/config 版本库特定的配置设置,可以使用--file修改,--file是默认选项,该配置拥有最高优先级
$ git config --list [通过此命令查看当前git项目的所有配置]
$ git config --list --global [通过此命令查看git全局的配置]
复制代码
设置全局默认的名字和邮箱
$ git config --global user.name "name"
$ git config --global user.email "email@email.com"
# git commit期间打开编辑器编辑日志消息
$ git config --global core.editor vim
复制代码
设置项目配置信息方式,在项目目录下使用命令,会修改.git/config中的配置,覆盖全局配置
#将用户名设为nickname
$ git config user.name "nickname"
$ git config user.email "xxx@gmail.com"
#将用户邮箱设为nickname@gmail.com
使用--unset来移除设置
$ git config --unset --global user.email
$ git config --unset core.editor
复制代码
提交历史
git log命令会产生版本库里一系列单独提交的历史,条目按照从最新的到最老的顺序罗列(不是按照时间顺序,而是提交的拓扑顺序排列),每个条目显示了提交作者的名字、email、提交日期、变更的日志记录和提交的内部识别码
git show <提交ID> 可以查看特定提交的详细信息,如果没有指定提交码,则只显示最近一次提交的详细信息
$ git log
commit a26981b7d65bb4d30001e2b641869dc1d2e83e9e (HEAD -> master)
Author: xingmu <xxx@126.com>
Date: Sun May 13 00:57:04 2018 +0800
确认功能
commit 6d86cd5a50d5ca1323bdec20bd5dfcb388008005
Author: xingmu <xxx@126.com>
Date: Sun May 13 00:55:36 2018 +0800
convert to html
$ git show 6d86cd5a50d5ca1323bdec20bd5dfcb388008005
commit 6d86cd5a50d5ca1323bdec20bd5dfcb388008005
Author: xingmu <xxx@126.com>
Date: Sun May 13 00:55:36 2018 +0800
convert to html
diff --git a/index.html b/index.html
index 34217e9..fa3df91 100644
--- a/index.html
+++ b/index.html
@@ -1 +1,5 @@
+<html>
+ <body>
My website is alive!
+ </body>
+</html>
复制代码
查看提交差异
git diff <提交id> <提交id>
$ git diff 6d86cd5a50d5ca1323bdec20bd5dfcb388008005 a26981b7d65bb4d30001e2b641869dc1d2e83e9e
diff --git a/index.html b/index.html
index fa3df91..60ea836 100644
--- a/index.html
+++ b/index.html
@@ -1,4 +1,7 @@
<html>
+ <title>
+ git demo
+ </title>
<body>
My website is alive!
</body>
复制代码
版本库内的文件删除和重命名
## 删除
$ git rm readme.md
rm 'readme.md'
$ git commit -m "remove file readme.md"
[master a934b71] remove file readme.md
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 readme.md
## 重命名
$ git mv user.html user.html_bak
fatal: 不在版本控制之下,源=user.html,目标=user.html_bak
$ git add user.html
$ git mv user.html user.html_bak
```复制代码