Git和GitHub
Git命令行
git config --list -查看当前配置(配置内容全部输入)
git config --list --global 查看Alias别名配置内容
创建/提交git项目
git init -在 当前文件夹 初始化一个空的 git 仓库. 初始化完仓库是空的,也就是还没有任何工程文件加入到 git 管理
git status -查看当前仓库的状态
git clone URL -将GitHub上的源码通过命令行下载到本地
mkdir test 创建文件夹test //这是Linux命令,Windows系统可以直接在Git命令行窗口直接使用这些命令
cd test 切换到test目录 //这是Linux命令,Windows可用
touch a.md 新建a.md文件 //这是Linux命令,Windows命令行窗口不能使用,windows使用 type > <文件名>
cd ..退回上一级目录 //这是Linux命令,Windows可用
git config --global alias.st status//alias配置用来设置别名的,将 status 设置一个别名 st
git rm <file> -移除本地仓库暂缓区文件(提供了类似Linux的文件管理的基本指令)
git add <file> -添加文件到本地仓库暂缓区(将文件夹下所有文件全部git add的命令为git add . 或git add --all)
git commit -m 'first commit' -将当前的本地仓库暂缓区的文件正式进行一次提交,但没有提交到网上仓库区去,-m后面单引号内的内容代表提交信息
git log -该命令可以查看所以的commit(提交)记录(不包括回退的操作记录)
git reflog -查看所有提交的操作历史记录(也包括回退的操作记录)
git branch <分支名>-新建分支,执行 git init 初始化git仓库之后会默认生成一个主分支 master ,也是你所在的默认分支,也基本是实际开发正式环境下的分支,一般情况下 master 分支不会轻易直接在上面操作的。
git branch -d <分支名> -删除分支
git checkout <分支名> -切换分支
git stash -文件暂存,用于保存和恢复工作进度(参考https://gist.github.com/subchen/3409a16cb46327ca7691)
git checekout <文件名> -如果该文件发生修改,使用该命令会将文件回退到上一个提交版本(也就是暂缓区的最新版本),会放弃当前本地的所有修改
git reset --hard HEAD^/HEAD^^ -回退到历史区上一个版本(HEAD^)/上上一个版本(HEAD^^)
git diff - 查看发生变化的文件的具体变化(diff是查看变化的命令)
git diff HEAD^/HEAD^^ -查看当前版本与上一个版本/上上一个版本的差异)
git push orgin master -push推出去,将本地代码全部推送到远程master
git pull orgin master -pull拉回来,将远程最新代码更新到本地
本地推送到GitHub的完整步骤:
git init -(要先在本地创建一个文件夹)初始化本地仓库(已经创建的文件夹)
git add <文件> -推送文件到仓库暂缓区
git commit -m "提交信息"-进行一次提交
git remote add origin git@github.com:xxx/xxx.git -关联远程仓库
git push -u origin master -推送到远程仓库上
(git remote add origin https://github.com/JakeyYe/Android.gitgit push -u origin master类似这样)
关联远程仓库有两种方式:
- 直接将Clone的远程仓库文件作为本地仓库;
- 先创建一个远程仓库,再用git remote命令行关联。
参考
有图非常清楚的Git讲解http://www.jianshu.com/p/16ad0722e4cc
还有GitHub的讲解 http://www.jianshu.com/p/a20cda198677
http://www.voidcn.com/blog/chaoyang805/article/p-6179978.html