刚开年不久就给公司提了辞职,现在新面试的公司也要快到上班的时间了,在正式的入职前了解到新公司用的版本管理的是用的Git,我之前用的是Svn;虽然这两个都是版本管理,还是有很大的差别的,GIT把内容按元数据方式存储,而SVN是按文件,而且GIT是分布式的;详细的请移步http://www.oschina.net/news/12542/git-and-svn; **
git 命令集合**
创建文件夹**[AppleScript]查看源文件**复制代码
$ mkdir dirname
复制代码
** 进入filename 文件夹** [AppleScript] 查看源文件 复制代码
$ cd dirname
复制代码
** 显示当前目录位置** [AppleScript] 查看源文件 复制代码
$ pwd
复制代码
**在我的win上,这个仓库位于/c/Users/michael/filename 通过git init命令把这个目录变成Git可以管理的仓库 [AppleScript] 查看源文件 复制代码
$ git init
复制代码
用命令git add告诉Git,把文件添加到仓库: [AppleScript] 查看源文件 复制代码
$ git add filename
复制代码
用命令git commit告诉Git,把文件提交到仓库: [AppleScript] 查看源文件 复制代码
$ git commit -m "wrote a readme file"
复制代码
git status命令可以让我们时刻掌握仓库当前的状态 [AppleScript] 查看源文件 复制代码
$ git status
复制代码
用git diff可以查看修改内容 [AppleScript] 查看源文件 复制代码
$ git diff filename
复制代码
用git log命令查看日志 [AppleScript] 查看源文件 复制代码
$ git log
复制代码
在Git中,用HEAD表示当前版本,也就是最新的提交的,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100 [AppleScript] 查看源文件 复制代码
$ git reset --hard HEAD^
复制代码
查看文件内容 [AppleScript] 查看源文件 复制代码
$ cat filename
复制代码
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。[AppleScript] 查看源文件 复制代码
$ git clone [email]git@github.com[/email]:name/gitskills.git
复制代码
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git; 用git push命令,实际上是把当前分支master推送到远程。 [AppleScript] 查看源文件 复制代码
$ git push -u origin master
复制代码
用命令git clone克隆一个本地库: [AppleScript] 查看源文件 复制代码
$ git clone [email]git@github.com[/email]:name/gitskills.git
复制代码
dev分支,然后切换到dev分支: [AppleScript] 查看源文件 复制代码
$ git checkout -b dev
复制代码
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令: [AppleScript] 查看源文件 复制代码
$ git branch dev$ git checkout dev
复制代码
用git branch命令查看当前分支: [AppleScript] 查看源文件 复制代码
$ git branch
复制代码
用 git checkout 切换分支 [AppleScript] 查看源文件 复制代码
$ git checkout master
复制代码
git merge 命令用于合并指定分支到当前分支
查看分支:git branch
创建分支:git branch
切换分支:git checkout 创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d