git 学习笔记

git 宝典

git 学习笔记_第1张图片

git born & history

git 维基百科

git local or client

install

  • linux 使用 包管理安装 或者 编译安装(还不会)
  • mac os 直接 安装 Xcode command line tool
  • windows 安装 msysgit

初次使用时,使用 git config 配置 git 工作环境

  • git config--system 此命令对系统所以用户都适用 。配置文件~/etc/gitconfig
  • git config --global 用户目录下的配置文件,只使用于该用户。文件位置~/.gitconfig
  • git config 直接配置当前项目的配置信息。文件位置 .git/config
  • git config user.name/user.email/merge.toolcore.editor
  • git config --list/user.name

初始化版本库

  • git init 将当前目录变为一个git仓库
  • git clone 从已有的git仓库克隆一个新的镜像仓库
    • git clone 可以在使本地仓库名和远程仓库名不同
    • git clone 可以使用各种传输协议如:https,ssh,git://

git 文件操作

git status 当前仓库所有文件的状态。

  • git status -s 或者 git status --short将得到更为简短的文件状态信息。
  • git 文件状态转换图


    git 学习笔记_第2张图片
    文件状态转换图
  • untracked
    • untracked files 未跟踪的文件,使用 git add filename将 文件纳入git跟踪范围
  • tracked
    • staged 已暂存状态的文件。
    • modified 已跟踪的文件被修改但是还没有放入暂存区。 使用git add命令将文件放入暂存区。

git add 跟踪未跟踪的文件 或者 暂存未暂存的文件

  • git add filenames/dir 跟踪文件或者文件夹(递归跟着文件夹里面的所有文件)

gitignore 忽略某些不需要跟踪的文件

  • .gitignore文件

git diff 当前仓库中修改的文件和暂存区域中的文件的差别,也就是修改之后还没有赞成起来的变化.

git diff --cache/--stage 已暂存的和上次上次提交时的差异。

git commit 提交更新

  • git commit 启动默认的编辑器编辑提交说明。默认编辑器使用 git config core.editor 设置
  • git commit -m 直接写提交说明
  • git commit -a 暂存所有已跟踪的文件并提交

移除文件

  • git rm 从跟踪清单中移除此文件并在当前目录中删除此文件 参数-f强制删除文件
  • git rm --cache 移除跟踪清单但不删除文件

git mv移动文件

git log 查看提交历史

Undoing things

  • git commit --amend 将最后2次commit 合为一次。
  • git reset HEAD file 将已修改文件从缓存区撤销。
  • git checkout -- file 撤销文件的改动。

working with remote(local side)

Managing remote repositories includes knowing how to add remote repositories, remove repositories,manager various remote branches and define them as being tracked or not.

fetching and pull from remote

  • git remote add [shortname] [url] 以short name为别名增加一个远程仓库。
  • git fetch [remote name] 从远处仓库获取最新数据,不会和本地文件merge
  • git pull 获取远处仓库的最新数据,自动和本地的分支merge。

pushing to remote

  • git push [remote-name] [branch-name] 将分支branch-name的修改推送到远处仓库。
  • git remote show [remote name] 查看远处仓库信息。
  • git remote rename [remote name] [new remote name] 重命名本地的远处仓库名字
  • git remote rm [remote name] 删除remote

你可能感兴趣的:(git 学习笔记)