Ubuntu 13.04 + GitHub 系统配置及日常使用

今天心血来潮,把注册了好久的 GitHub 帐号拿出来玩儿,看到有人提到可以用 Github Pages 来写博客,
心里不禁痒痒。

设置用户信息

$ git config --global user.name "Your name comes here"
$ git config --global user.email you@yourdomain.example.com

查看设置信息

$ git config --list

取得一个 Git 仓库

  • 在工作目录中初始化新仓库
    cd 到项目目录下,用 git init 命令初始化
$ git init
  • 开始跟踪项目文件,并作初次提交
$ git add *.c
$ git add README.md
$ git commit -m 'initial project version'
  • 从现有仓库克隆
$ git clone git://github.com/pkuphy/NJUThesis

记录每次更新到仓库

  • 检查当前文件状态
$ git status
  • 跟踪新文件
$ git add <file>
  • 忽略某些文件

    在项目目录下新建一个 .gitignore 文件

    下面是一个 .gitignore 文件的示例:

# 这是一条注释
*.a         # 不跟踪 .a 文件
!lib.a      # 即使上面已经忽略了 .a 文件,仍然跟踪 lib.a 文件
/TODO       # 只忽略根目录下的 TODO 目录
build/      # 忽略 build/ 目录下的所有文件
doc/*.txt   # 忽略 doc/notes.txt,但不忽略 doc/server/a.txt
  • 查看已缓存的和未缓存文件之间的差异
$ git diff
  • 查看已缓存和已提交文件的差异
$ git diff --cached
  • 提交更新
1. 使用这条命令会自动打开默认编辑器以编写提交说明
$ git commit
2. 或者用如下命令直接在命令中写提交说明
$ git commit -m "commit message"
  • 跳过缓存直接提交更新
$ git commit -a -m "commit message"
  • 移除文件
$ git rm <file>
  • 移除跟踪但不删除文件
$ git rm --cached <file>
  • 移动文件(一下命令实际上是重命名操作)
$ git mv file.from file.to

查看提交历史

$ git log

撤销操作

  • 修改最后一次提交
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
  • 撤销已缓存的文件
$ git reset HEAD <file>
  • 撤销对文件的修改
$ git checkout -- <file>

远程仓库的使用

  • 查看当前远程仓库
$ git remote -v
  • 添加远程仓库
$ git remote add pb git://github.com/pkuphy/NJUThesis
  • 从远程仓库抓取数据
$ git fetch [remote-name]
  • 推送数据到远程仓库
$ git remote add origin git@github.com:pkuphy/pkuphy.github.com.git
$ git push origin master # push [remote-name] [branch-name]

EOF

2013-07-04 09:0073
comments powered by Disqus