您的位置:首页 > 编程语言

github,git 入门配置和基本使用

2014-10-20 15:25 465 查看
最近想用github,学习了一下,网上的攻略很多不够清晰,或者我太菜了,走了很多弯路,自己写一个给自己用。
配置请看这篇文章写的不错:http://www.cnblogs.com/fnng/archive/2012/01/07/2315685.html

下面是我读《git权威指南》的小结:
找到了以个最常用的的命令
git help 命令名。

常用命令及其记忆方法:
提交:
提交的原理:git提交的流程是,当前工作空间到暂存区到本地版本库再到远程版本库,流程中的命令分别是add,commit,push;
git diff:比较文件中的区别,不加参数是cached(暂存区)和HEAD(本地版本库)比较,加参数--cached 或HEAD分别代表当前工作空间和cached和HEAD比较。
git status -s :当前工作空间文件的状态。第一字母表示cached和HEAD的比较,第二个字母表示当前工作空间和cached的比较
git clean -df:清除新增加的但是还未add的文件和目录,注意是新增加而不是修改的;
git checkout (HEAD). :不加HEAD是从cached 刷新到当前工作空间(cs,后同),加的话是从HEAD刷新到cached和cs,这里的刷新不会删除新增文件,所以clean和checkout常一起使用。
git commit -a:把所有文件直接提交到HEAD,相当于绕过了暂存区,最好不要用这个偷懒的命令,这样就失去了暂存区的好处

git stash:这个命令就是保存当前的工作进度,所以今天先到这里吧

HEAD表示“指向引用:refs/heads/master”,master表示版本库的最近一次提交。
git 重置:
refs/heads/master像是一个游标指向最新的提交ID。游标的意思就是可以游动,所以,可以用git reset命令将master指向任意一个存在的提交id。

git reset --hard head^就是将游标指向上一个提交,并且会把cs也回退到现在指向的提交。
使用reset重置会很危险,因为重置到的提交后的历史提交ID在Log中会被丢弃。但是可以通过reflog查询到历史分支变更来找回丢失的提交Id.
git checkout 的三种用法:
1、git checkout (HEAD). :不加HEAD是从cached 刷新到当前工作空间(cs,后同),加的话是从HEAD刷新到cached和cs,这里的刷新不会删除新增文件,所以clean和checkout常一起使用。

2、改变head,即改变当前分支或分离头指针
3、创建新的分支
git保存进度:
git stash;
保存cs和cached的进度,保存后当前修改消失。
git stash list ,显示保存的进度列表
git stash pop,恢复到最近保存的进度

git ls-files :显示cached和cs中的文件和目录列表
创建tag;
可以给当前工作用tag命令创建一个快照,并命名。
可以用describe显示快照的名字。
我的理解相当于可以自己命名版本名,这个名字可以用来切换,切换的时候cs和cached也会切换到当时的状态,很方便。
文件忽略:
创建一个文件.gitignore 并提交到版本库,在里面添加的未追踪文件都会被忽略,并且这个忽略是全局共享的,因为提交到了版本库。
以上是git的基本操作,先看到这里,更复杂的用法以后再看。

远程版本库:
主要的命令是remote ,push,pull,fetch,clone.
remote 是使用将本地版本库和远程版本库连接
如,git remote add origin git@github.com;你的版本库地址
用 git remote -v
可以看当前和哪个版本库相连
origin 感觉是给远程版本库起了一个别名
如,你想把远程版本库中的文件拉过来:
git pull origin master
fetch就是更新的意思。
clone挺复杂的,不过我刚用,感觉现在还不需要关注这个。

以上的命令对我就感觉够用了,开始加入github了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: