小米的博客
感恩能够遇见

用Git已经有一段时间了,零零总总用了好些命令。下面就写一点自己对Git的理解吧!

Git是一种分布式代码版本控制系统,是由Linus Torvalds 为了更好管理Linux内核而开发的,关于Linus开发Git中间还有许多有趣的小故事,感兴趣的童鞋可以自己去找找看看娱乐娱乐。

Git中有两个重要的概念,一个是仓库,一个是分支,你只要能理解好这两个概念,并熟悉下面的这些命令就差不多了。

仓库:英文名repository。大家都知道仓库就是用来装东西的,这里的仓库也差不多,只不过是用来装代码的。这个特殊的仓库里所有的代码都能被跟踪,仓库里面的每个文件修改、删除,以及增加都能被Git跟踪,必要的时候你可以回退到任意历史版本。

创建一个仓库非常简单 。 在终端敲 Git  init 就可以在你当前目录下创建了一个仓库了,初始化之后目录里面会有一个.git目录,git需要的数据和资源都存放在这个目录里。接下来你就可以通过Git管理这个仓库了。管理仓库的几个重要命令:

git   add   filename    这是个多功能命令,根据目标文件的状态不同,此命令的效果也不同:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等。

git  commit   -m     ‘XXXXXXX’   添加文件后就需要提交到仓库,-m 参数是添加提交说明。

git   status    查看仓库的状态,它可以告诉我们当前仓库下哪些文件被增加,那些还没被跟踪,那些被修改,哪些待提交,整个仓库动态一目了然。

git   diff    查看还没暂存的文件更新了哪些部分,会非常详细的显示你还没提交的所有修改。加上参数  git  diff  --cached 查看已经暂存的变化。

git  rm filename    从暂存区域移除.如果只想从Git 仓库中删除,即从暂存区域移除,但仍然希望保留在当前工作目录中git rm --cached filename。

git  mv    file_from    file_to   移动文件

git  log    查看提交历。-n 查看最近n次得提交信息。
-p 按补丁格式显示每个更新之间的差异。
--stat 显示每次更新的文件修改统计信息。
--shortstat 只显示 --stat 中最后的行数修改添加移除统计。
--name-only 仅在提交信息后显示已修改的文件清单。
--name-status 显示新增、修改、删除的文件清单。
--abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
--relative-date使用较短的相对时间显示(比如,“2 weeks ago”)。
--graph 显示 ASCII 图形表示的分支合并历史。
--pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format后跟指定格式)。

git   commit   --amend   如果提交之后没做任何改动,那么用这个就可以取消提交。

git  reset  HEAD  filename  撤销暂缓去区的filename  。

git  checkout   --  filename  取消对文件的修改。

远程仓库的使用

git   clone  [url]   克隆一个远程仓库到本地,如 git clone https://github.com/jeremyteng1990/huying 就会克隆一个远程仓库到本地。

git   remote   查看当前配置有哪些远程仓库。-v 显示对应的clone地址,如果有多个远程仓库,此命令将全部列出。

git   remote add  [shortname]    [url]    添加一个新的远程仓库,就是把本地仓库和远程仓库关联,这样便可以推送和拉取数据,shortname为自定义的一个别名  url 当然就是远程仓库的地址了。

git  fetch  [shortname]/[url]   从远程仓库抓取远程仓库有的本地没有的数据。

git  push  [remote_name]    [branch_name]    把本地的分支仓库中的数据推送到远程仓库。

git remote  show   [remote_name]   查看某个远程仓库的详细信息。

git  remote rename   name_from  name_to   给远程仓库重命名。

git  remote rm  [remote_name]   删除远程仓库。

分支的使用

git   branch  branch_name   创建分支。

git checkout   branch_name  切换到分支。

git   checkout   -b  branch_name   创建branch_name分支并切换到该分支。

git   branch   查看当前分支。

git meger  branch_name  把branch_name分支合并到当前分支。

git branch -d  branch_name   删除branch_name分支。

最后讲一下用于向远程仓库推送的时候用到的SSH Key。在终端敲:ssh-keygen -t rsa -C "tengyami@gmail.com.com" 会在你的用户目录下生成一个.ssh 打开这个目录会看到id_rsa和id_rsa.pub两个文件,这两个文件就是你的密匙对,id_rsa是私匙,打死都不能告诉别人,id_rsa.pub是公匙你可以随便的告诉别人。

 

 

这篇文章还没有人发言,快抢第一!

发表评论