《Pro Git》读书笔记

2017-03-12  本文已影响28人  饮长刀

Git保证完整性

初次运行Git前的配置

$ git config --global user.name "#NAME#"  
$ git config --global user.email #NAME@example.com#

获取Git仓库

在现有目录中初始化仓库

若需使用Git来对现有的项目进行管理,只需进入该目录并输入:

$ git init    

该命令将创建一个名为.git的子目录

克隆现有的仓库

$ git clone #url#   

这会在当前目录下创建一个需要克隆的仓库的目录,并在这个目录下初始化一个 .git 文件夹,从远程仓库拉取的所有数据放入 .git 文件夹,然后从中读取最新版本的文件的拷贝。

记录每次更新到仓库

检查当前文件状态

$ git status
$ git status -s   

跟踪新文件

git add 命令可以用来开始跟踪新文件,也可以把已跟踪的文件放到暂存区,还可用于合并时把有冲突的文件标记为已解决状态等。将这个命令理解为 ‘添加内容到下一次提交中’ 而不是 ‘将一个文件添加到项目中’ 要更加合适。

$ git add #FILE#    

暂存已修改的文件

修改一个已被跟踪的文件,运行 git status 命令后,这个文件将出现在 Changes not staged for commit 这行下面,说明已跟踪文件的内容发生了变化,但是还没有放到暂存区。要暂存这次更新,需要运行 git add 命令。文件放到暂存区后,假设此时,再修改这个文件,重新编辑后,再运行 git status 将会发现这个文件同时出现在暂存区和非暂存区。原因是Git只不过暂存了运行 git add 时候的版本,需要再次运行 git add 把最新版本重新暂存起来,然后 git commit.

忽略文件

可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。

$ cat .gitignore  
$ *.[oa]  
$ *~   

查看已暂存和未暂存的修改

提交更新

$ git commit -m "#DESCRIPTION#"

跳过使用暂存区域

$ git commit -a

移除文件

$ git rm --cached #FILE#
$ git rm \*#suffix#

移动文件

$ git mv #FILE_FROM# #FILE_TO#
$ mv #FILE_FROM# #FILE_TO#
$ git rm #FILE_FROM#
$ git add #README#

查看提交历史

$ git log -p -2
$ git log --pretty=format:"%h - %an, %ar : %s"

撤销操作

$ git commit --amend

取消暂存的文件

$ git reset HEAD #FILE#

撤销对文件的修改

$ git checkout -- #FILE#

远程仓库的使用

查看远程仓库

$ git remote -v    

添加远程仓库

$ git remote add #shortname# #url#

从远程仓库中抓取与拉取

$ git fetch #remote-name#   

推送到远程仓库

$ git push #REMOTE-NAME# #BRANCH-NAME#  

查看远程仓库更多信息

$ git remote show #REMOTE-NAME#  

远程仓库的移除与重命名

$ git remote rename #OLD_NAME# #NEW_NAME#  
$ git remote rm #REMOTE_NAME#  

打标签

列出标签

$ git tag
$ git rag -1 'v1.8.5*'    

创建标签

附注标签

$ git tag -a v1.0 -m 'SOME MESSAGE'  
$ git show v1.0  

轻量标签

$ git tag v1.0

后期打标签

$ git tag -a v1.0 #SHA-1#

共享标签

git push origin v1.5
$ git push #origin# --tags  

检出标签

$ git checkout -b #BRANCHNAME# #TAG_NAME#  

定义别名

$ git config --global alias.ci commit
$ git config --global alias.last 'log -1 HEAD'
上一篇 下一篇

猜你喜欢

热点阅读