zoukankan      html  css  js  c++  java
  • Pro Git读书笔记

    在工作目录中初始化新仓库

    要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行git init

    检查当前文件状态

    要查看哪些文件处于什么状态,可以用git status命令

    将工作文件修改提交到本地暂存区

    通过git add <file>可以将文件提交到本地暂存区,如果你git add a.txt之后修改了a.txt的内容,则你需要再次git add a.txt,否则本地暂存区保存的是修改前的a.txt

    忽略文件

    一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以创建一个名为 .gitignore的文件,列出要忽略的文件。

    .gitignore 的格式规范如下:

    • 所有空行或者以 # 开头的行都会被 Git 忽略
    • 可以使用标准的 glob 模式匹配
    • 匹配模式可以以(/)开头防止递归
    • 匹配模式可以以(/)结尾指定目录
    • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反

    查看文件diff

    实际上git status的显示比较简单,仅仅是列出了修改过的文件,如果要查看具体修改了什么地方,可以用git diff命令,用法如下
    git diff <file> # 比较当前文件和暂存区文件差异
    git diff
    git diff <$id1> <$id2> # 比较两次提交之间的差异
    git diff <branch1>..<branch2> # 在两个分支之间比较
    git diff --staged # 比较暂存区和版本库差异
    git diff --cached # 比较暂存区和版本库差异
    git diff --stat # 仅仅比较统计信息

    提交更新

    git commit之前,请一定要确认还有什么修改过的或新建的文件还没有git add过,否则提交的时候不会记录这些还没暂存起来的变化。所以,每次准备提交前,先用git status看下,是不是都已暂存起来了,然后再运行提交命令git commit
    git commit这种方式会启动文本编辑器以便输入本次提交的说明。(默认会启用 shell 的环境变量 $EDITOR 所指定的软件,一般都是 vim 或 emacs。当然也可以按照第一章介绍的方式,使用 git config --global core.editor 命令设定你喜欢的编辑软件。)你可以是用git commit -m "this is message"这种方式

    移除文件

    要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。可以用git rm <file>命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。如果只是想将文件从暂存区中移除但工作目录不移除可以用命令git rm --cached <file>

    修改文件名字

    通过命令git mv <file_from> <file_to>可以对文件进行改名

    查看提交历史

    在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用git log命令查看。
    git log的其他使用方法如下

    • git log <file> # 查看该文件每次提交记录
    • git log -p <file> # 查看每次详细修改内容的diff
    • git log -p -2 # 查看最近两次详细修改内容的diff
    • git log --stat # 查看提交统计信息

    修改最后一次提交

    有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用git commit --amend重新提交,如
    git commit -m 'initial commit'
    git add forgotten_file
    git commit --amend
    上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容。

    取消已经暂存的文件

    如果有两个修改过的文件,我们想要分开提交,但不小心用 git add . 全加到了暂存区域,这时候可以用命令git reset HEAD <file>取消暂存

    查看当前的远程库

    要查看当前配置有哪些远程仓库,可以用git remote命令,可以加上-v选项(--verbose的简写),显示对应的克隆地址

    添加远程仓库

    添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行git remote add [shortname] [url]

    从远程仓库抓取数据

    使用命令git fetch [remote-name]可以从远程仓库抓取数据到本地

    推送数据到远程仓库

    项目进行到一个阶段,要同别人分享目前的成果,可以将本地仓库中的数据推送到远程仓库。实现这个任务的命令很简单:git push [remote-name] [branch-name]。如果要把本地的 master 分支推送到 origin 服务器上(再次说明下,克隆操作会自动使用默认的 master 和 origin 名字),可以运行命令git push origin master

    查看远程仓库信息

    使用命令git remote show [remote-name]查看某个远程仓库的详细信息

    远程仓库的删除和重命名

    在新版 Git 中可以用 git remote rename 命令修改某个远程仓库在本地的简称,比如想把 pb 改成 paul,可以这么运行git remote rename pb paul
    碰到远端仓库服务器迁移,或者原来的克隆镜像不再使用,又或者某个参与者不再贡献代码,那么需要移除对应的远端仓库,可以运行git remote rm命令,如git remote rm paul

    远程拉取分支代码git fetch [remote-name] [branch-name]

  • 相关阅读:
    用Margin还是用Padding?
    更优雅的清除浮动float方法
    清除浮动float (:after方法)
    px,em,rem
    load()方法
    PHP函数详解:call_user_func()使用方法
    移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法
    Mysql开启远程连接方法
    mysql的字符串连接符
    php使用curl访问https返回无结果的问题
  • 原文地址:https://www.cnblogs.com/helbing/p/5449632.html
Copyright © 2011-2022 走看看