git学习(二)

Git基础

获取Git仓库

1. 将本地目录转换为Git仓库

更换目录至尚为进行版本控制的项目目录,执行git init初始化Git仓库。

该目录下会生成.git文件夹。

2. 从其他服务器中克隆Git仓库

git clone <url>

如:git clone https://github.com/libgit2/libgit2

自定义本地仓库名:

git clone <url> <name>

如:git clone https://github.com/libgit2/libgit2 mylibgit

Git支持多种数据传输协议,如上面使用的https://,也可以使用git://协议和SSH协议

记录更新到Git仓库

文件变换周期

picture 3

常用命令

命令 说明
git status 查看状态
git status -s 以简洁格式查看状态
git diff 比较当前文件和暂存区快照之间的差异
git diff --staged 比较暂存区和最后一次提交文件之间的差异
git add <filename> 跟踪新文件/添加到暂存区
git commit 提交到远程Git仓库,会先打开默认编辑器编辑附加信息
git commit -m <message> 提交到远程Git仓库,直接在-m选项后添加提交信息
git commit -a -m <message> 将跟踪文件暂存起来一并提交,跳过了暂存步骤
git rm <filename> 删除文件
git rm -f <filename> 强制删除以放已暂存区的文件
git rm --cached <filename> 把文件从暂存区移除,但不删除本地文件
git mv <filename> <newname> 改名,如把文件名a改为b时相当于执行mv a bgit rm agit add b

查看提交历史

git log 常用选项

选项 说明
--stat 查看每次提交的简略信息
--pretty=oneline 将每次提交放在一行显示

撤销操作

补充提交

git commit --amend

将代替上一次提交

如:

git commit -m 'update'

git add forgotten_file

git commit --amend

撤销未暂存修改

git restore <filename>

撤销暂存文件

git restore --staged <filename>

远程仓库的使用

使用Git多人协作时,为了完善项目,你需要获取别人的版本。

远程仓库就是你要完成的项目在网络中版本库(其他人的版本),
为了能在任何Git项目上协作,你需要了解如何管理远程仓库。

查看远程仓库

先查看下你所配置的远程仓库:

git remote

会列出每个远程服务器的简写。
当你克隆从远程服务器克隆一个仓库时,会得到一个默认名:origin。

如果你还想知道这些远程服务器的url,可以输入:

git remote -v

你便可以看到远程服务器的名字及其url。

添加远程仓库

多人协作过程中,你需要添加多个远程仓库:

git remote add <shortname> <url>

添加了一个新的远程仓库并指定了它的简写。

如:

git remote add pb https://github.com/paulboone/ticgit

抓取(fetch)和拉取(pull)远程仓库

如果你想获取远程仓库中你没有的信息,可以用git fetch命令:

git fetch <shortname | url>

注意git fetch只会下载数据到你的本地仓库,不会自动合并或修改你当前的工作,所你需要手动合并。

如果你当前的分支设置了跟踪远程分支,你可以使用:

git pull

来自动抓取后该远程分支到当前分支。

推送到远程仓库

你分享自己的项目时,需要将本地仓库推送到远程仓库:

git push <remote> <branch>

查看远程仓库详细信息

你如果想查看更多关于远程仓库的信息:

git remote show <remote>

远程仓库的重命名和移除

重命名:

git remote rename <remote> <newname>

移除:

git remote remove <remote>

打标签

Git可以给仓库中某一次提交打标签,人们往往通过这个功能来标记发布节点(如v1.0、v2.0)。

列出已有标签

git tag

如果想按照特定模式查找标签:

git tag -l <mode>

如:

$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2
v1.8.5-rc3
v1.8.5.1
v1.8.5.2
v1.8.5.3
v1.8.5.4
v1.8.5.5

创建标签

标签可分为轻量标签的附注标签,轻量标签只是某次提交的引用,而附注标签是Git数据库中的完整对象,能够包含额外信息(如打标签者的名字、邮箱,日期)。

附注标签

创建附注标签你只需要在运行tag命令时指定-a选项:

git tag -a <tagname>

如:

$ git tag -a v1.4 -m "my version 1.4"
$ git tag
v0.1
v1.3
v1.4

指定-m选项可以指定一条信息存储在标签中,否则会打开编辑器让你编写存储在标签中的信息。

你可以通过git show查看标签信息:

$ git show v1.4
tag v1.4
Tagger: Ben Straub <ben@straub.cc>
Date:   Sat May 3 20:19:12 2014 -0700

my version 1.4

commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Mon Mar 17 21:52:11 2008 -0700

    changed the version number

轻量标签

创建轻量标签不需要指定任何选项:

$ git tag v1.4-lw
$ git tag
v0.1
v1.3
v1.4
v1.4-lw
v1.5

使用git show你只会看到提交信息,它只是一个引用:

$ git show v1.4
tag v1.4
Tagger: Ben Straub <ben@straub.cc>
Date:   Sat May 3 20:19:12 2014 -0700

my version 1.4

commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schac/on@gee-mail.com>
Date:   Mon Mar 17 21:52:11 2008 -0700

    changed the version number

后期打标签

然后在标签命末尾指定校验和。

共享标签

git push不会将标签推送至远程服务器上,需要显式共享:

git push origin <tagname>

共享全部标签:

git push origin --tags

删除标签

git tag -d <tagname>

别名

git config --global alias.<alias> <cmd>

如运行git config --global alias.logg 'log --pretty=oneline'
后,运行git logg相当于运行git log --pretty=oneline

posted @ 2020-11-26 10:41  JaxVan  阅读(79)  评论(0)    收藏  举报