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了。
配置请看这篇文章写的不错: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了。
相关文章推荐
- [置顶] Fedora使用入门与基本配置
- 玩转GitHub之基本配置及使用
- Github的基本配置与使用
- Android基础入门教程——1.5.1 Git使用教程之本地仓库的基本操作
- Git使用入门,使用原理解读及如何在GitLab、GitHub或者Stash上管理项目(一)
- Fedora使用入门与基本配置
- GitHub入门教程(二)- 使用前的配置
- linux下配置使用git和github
- Git入门篇之环境搭建&基本功能的使用
- git及github配置入门
- 《版本控制之道——使用git》读书笔记(可作git和github入门)
- git/gitHub 基本使用
- Qt Creator 中配置和使用 Git / Github
- git与github的配置与使用教程
- Jenkins中使用Git和Maven之基本配置
- Git与Github的基本配置
- windows下使用git管理github项目(入门)
- Github初体验(仓库搭建和git配置入门)
- Git使用入门,使用原理解读及如何在GitLab、GitHub或者Stash上管理项目(二)
- git安装配置及基本使用