<< ..

git使用笔记

发布时间:

检出仓库

从github clone一个项目到本地:

git clone https://github.com/diggzhang/diggzhang.github.io.git

创建一个新的仓库

git init

mkdir playGit && cd ./playGit
➜  playGit  git init
Initialized empty Git repository in /Users/diggzhang/code/dev-docs/playGit/.git/
➜  playGit git:(master) git status
On branch master

Initial commit

nothing to commit (create/copy files and use "git add" to track)
➜  playGit git:(master)

工作流

你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,指向你最近一次提交后的结果。

添加 && 提交

第一步将更动文件添加到缓存区

git add < filename > #添加一个文件
git add * # 添加所有文件

第二步提交到HEAD

git commit -m "代码提交信息"

推动改动

已经改动的HEAD提交到远端仓库

git push origin master

如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:

git remote add origin <server>

这里origin是< server >的别名,取什么名字都可以,你也可以在push时将< server >替换为origin。但为了以后push方便,我们第一次一般都会先remote add。

检查仓库状态

git status
diff文件
git diff

查看仓库的提交历史

git log

检出之前的提交

git checkout

git checkout这个命令有三个不同的作用:

  • 检出文件
  • 检出提交
  • 检出分支

回到master分支 git checkout master

查看文件之前的版本。它将工作目录中的文件变成中那个文件的拷贝,并将它加入缓存区 `git checkout `

更新工作目录中的所有文件,使得和某个特定提交中的文件一致。你可以将提交的哈希字串,或是标签作为参数。这会使你处在分离HEAD的状态 `git checkout `

检出最新版本 git checkout HEAD hello.py

回滚错误

TODO