刚开年不久就给公司提了辞职,现在新面试的公司也要快到上班的时间了,在正式的入职前了解到新公司用的版本管理的是用的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 <frok>切换分支 [AppleScript] 查看源文件 复制代码
$ git checkout master
git merge <frokname> 命令用于合并指定分支到当前分支 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git checkout -b <name> 合并某分支到当前分支:git merge <name> 删除分支:git branch -d <name>
网友评论