Github链接及git学习心得总结

 https://github.com/luhan420

 

 Git 是一个分布式管理工具,通过指纹字符串来时刻保持数据的完整性,关心的是文件数据整体的变化,并不保存变化前后的差异数据;Git 在本地磁盘保存有关项目的历史更新,所有绝大多数操作只需要访问本地文件资源,并不需要Internet。当然可以使用GitHbub将代码托管,进行远程开发,方便团队比较分散的情况(这正体现Git分布式的优势);开发人员只需将项目clone到本地,进行相应的开发然后push上传到 GitHub(GitHub使用的是utf-8编码,所以上传的文件如若不是以utf-8编码,可能出现乱码),供别的开发人员更新即可。简单初学使用参考: 

         任何文件在Git库中都有四种状态:未跟踪状态untracked、跟踪状态tracked(未修改状态unmodified、已修改状态modified、暂存状态staged),由于文件的上述四种状态,在使用Git进行项目管理的时候涉及到三个区域:

(1)Git 本地数据目录:每个项目都有一个 git 目录,它是 Git 用来保存元数据和对象数据库的地方。该目录非常重要,每次克隆镜像仓库的时候,实际拷贝的就是这个目录里面的数据。

(2)工作目录(项目工作空间):从项目中取出某个版本的所有文件和目录,用以开始后续工作的叫做工作目录,即就是我们进行项目开发的目录。

(3)暂存区域:所谓的暂存区域只不过是个简单的文件,一般都放在 git 目录中。

 

Git本地仓库的基本用法:

     ① git init :初试化当前目录为一个Git本地仓库。

     ② git add  : 如果一个文件是未被跟踪的,将 一个文件加入到Git版本控制当中,让Git对其进行跟踪;如果一个文件是已修改状态,则将一个文件放到暂存区中。

                git add .  :  "."点表示当前目录下的所有内容

     ③ git status : 查看当前Git仓库中所有文件的状态,若是为跟踪状态 则用红色显示。

     ④ git diff:比较工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容。

     ⑤ git commit:提交暂存区域。

               git commit -m <说明信息>

               git commit -a 可以跳过暂存区域,直接将已跟踪的文件暂存起来一并提交。

     ⑥ git rm :从Git中删除一个文件。

               git rm --cached :从暂存区删除一个文件,但是仍保留在工作目录中。也就是将文件变为未跟踪状态。

     ⑦ git log:查看项目提交历史记录。

               git log -p 选项展开显示每次提交的内容差异

               git log --stat 仅显示简要的增改行数统计

               git log --pretty=

 ,其中option可以是:oneline(使每条历史信息在一行中显示),short,full,fuller,format(按指定的格式输出)

               gitk 可以打开历史记录的可视化查看窗口。

     ⑧ git commit --amend:修改最后一次提交。该命令是提交当前缓存区快照,并修改最后一次的说明。

     ⑨ git checkout -- :撤销对文件的修改,慎用!   

     ⑩ git reset HEAD :撤销对文件的暂存,让文件回到暂存前的状态。

 

 Git远程仓库的基本用法:

     ① git clone [url]:将一个远程仓库克隆到本地。

     ② git remote:查看当前配置的远程仓库,在克隆完某个项目后,至少可以看到一个名为origin的远程仓库,Git 默认使用这个名字来标识你所克隆的原始仓库。

               -v :显示对应的克隆地址。

               git remote add [remote-name] [url]:添加一个新的远程仓库。

               git remote show [remote-name]:查看远程仓库信息。

               git remote rm [remote-name]:移除远程仓库。

               git remote rename [old-remote-name] [new-remote-name]:重命名远程仓库。

     ③ git push [remote-name] [branch-name]:推送数据到远程仓库,remote-name指的是远程仓库简称,branch-name指的是分支名称。对于克隆的仓库默认分别为:origin,master

          git push -u origin master //将本地的项目提交到远程仓库

 

Git将远程仓库GitHub取回本地:

     ① git [url] :  在git下切换到想要存放此项目的目录,运行这条命令就可以将项目克隆到本地磁盘的当前目录

     ②项目取回本地,远程仓库GitHub上有更新,取得更新

              git fetch origin  //开始取得更新

              git merge origin /master  //将更新内容合并到本地分支/master

结对人:滕娟

posted @ 2015-04-24 21:32  luhan  阅读(220)  评论(0编辑  收藏  举报