Git知识总结
参考资料:http://blog.csdn.net/l_215851356/article/details/53393447
(1)Git
(2)Android Studio
(3)github账号--注册github帐号
(4)图形界面讲解项目上传
参考资料:https://www.cnblogs.com/cxk1995/p/5800196.html
介绍GIt和SVN的知识
参考网址:
https://www.cnblogs.com/muliu/p/6943811.html
http://blog.csdn.net/u014182411/article/details/74011901
https://www.cnblogs.com/yunquan/p/4862723.html
1.初始化git本地仓库
在命令行下创建文件夹
mkdir Baidu
cd Baidu
$ git init
2、配置本机的git
$ git config --global user.name "james2008"//git 用户名 $ git config --globaluser.email 1305913633@qq.com//git email
3、生成密钥
$ ssh-keygen -t rsa -C "1305913633@qq.com" //邮箱同上
4、提交密钥复制粘贴到github网页中登陆自己的账号,然后在account setting中,找到SSH KEY将复制的密钥加入
本地目录:C:\Users\zhouchunnuan\.ssh\id_rsa.pub
如图:
5、检验是否链接上了github
$ ssh git@github.com //正常情况下,回显如下,链接成功 PTY allocation request failed on channel 0 Hi plinx! You've successfullyauthenticated, but GitHub does not provide shell access. Connection togithub.com closed.
6.现将github的仓库信息clone到本地
git clone git@github.com:james2008/tmp.git
-----------------------------------------------------
Cloning into 'tmp'...
Warning: Permanently added the RSA host key for IP address'192.30.255.112' to the list of known hosts.
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 3 (delta 0), pack-reused 0
Receiving objects: 100% (6/6), done.
7.首次推送到github上的仓库中
git status //查看本地缓存库中是否有新增加的文件
$ git add . //.表示全部或者文件名:如 git add . /git addfile name 将当前文件加入修改列表
$ git commit -m '说明文字' //递交修改声明 '评论信息'
$ git push //推送此次内容到github的james2008的仓库中
8.删除文件(read.txt)
git rm read.txt(从本库中删除)
git commit -m "删除本地read.txt文件"
git push //本地库和服务器库保持同步
9.分支(分支名字dev)
创建分支:git branch dev dev是分支名
切换分支:git checkout dev
创建+切换分支:git checkout -b devab
查看当前分支:git branch
切换回master分支:git checkout master
合并指定分支到当前分支:git merge dev 如:git merge devandroid 合并完成后是 dev
(fast-forward 快进模式) 需要切换到其他分支才可以删除指定的分支
删除分支:git branch -d dev
10.查看仓库版本
查看远程库信息
git remote
查看远程库更详细信息
git remote -v
推送dev分支
git push origin dev
查看分支情况
git branch
------------
输出结果:
dev
master
---------------
11.版本回退
git reset :版本回退(建议加上––hard参数,git支持无限次后悔) 回退到上一个版本:git reset ––hard HEAD^ 回退到上上一个版本:git reset––hard HEAD^^ 回退到上N个版本:gitreset ––hard HEAD~N(N是一个整数) 回退到任意一个版本:git reset ––hard 版本号(版本号用7位即可)
(查看最近到最远提交日志)
git log
(回退版本计数:HEAD^上一个版本、HEAD~100上与100个版本)
git reset --hard HEAD^
(回退版本号码:回退版本commit id为3628df)
git reset --hard 3628df
(想要恢复:使用命令记录来找回commit id回退)
git reflog
关于Git的指令详细描述
git --help 查看帮助
git --help checkout 查看checkout具体用法
esc --退出编辑状态 :wq --保存并退出 git help :git指令帮助手册 查看其他指令的做法:git help 其他指令 git config :git的配置信息相关(修改的是.git/config文件)
git --help 查看帮助 git --help checkout 查看checkout具体用法 esc --退出编辑状态 :wq --保存并退出 git help :git指令帮助手册 查看其他指令的做法:git help 其他指令 git config :git的配置信息相关(修改的是.git/config文件) 配置用户名:git config “user.name” 用户名(用于跟踪修改记录) 配置邮箱:gitconfig “user.email” 邮箱(用于多人开发间的沟通) 查看配置信息:git config –l编辑配置信息:git config –e(用vim编辑,:wq是退出vim编辑器) 设置指令的别名:git config alias.别名 原指令名称 设置带参数指令的别名:gitconfig alias.别名 “原指令名称 参数” 将此设置应用到整个系统中:git config ––gloabal git status :查文件的状态 查看某个文件的状态:git status 文件名 查看当前路径所有文件的状态:git status gitlog :查看文件的修改日志 查看某个文件的修改日志:git log 文件名 查看当前路径所有文件的修改日志:git log 用一行的方式查看简单的日志信息:git log––pretty=oneline 查看最近的N次修改:gitlog –N(N是一个整数) git diff :查看文件最新改动的地方查看某个文件的最新改动的地方:git diff 文件名 查看当前路径所有文件最新改动的地方:git diff git init :初始化一个空的本地仓库,生成一个.git目录,用于维护版本信息在当前路径初始化仓库:git init 在其他路径初始化仓库:gitinit 仓库路径 git add :将工作区的文件保存到暂缓区 保存某个文件到暂缓区:git add 文件名 保存当前路径的所有文件到暂缓区:git add .(注意,最后是一个点 . ) git commit :将暂缓区的文件提交到当前分支 提交某个文件到分支:git commit -m ”注释” 文件名 保存当前路径的所有文件到分支:git commit -m ”注释” git reset :版本回退(建议加上––hard参数,git支持无限次后悔) 回退到上一个版本:git reset ––hard HEAD^ 回退到上上一个版本:git reset––hard HEAD^^ 回退到上N个版本:gitreset ––hard HEAD~N(N是一个整数) 回退到任意一个版本:git reset ––hard 版本号(版本号用7位即可) git reflog :查看指令使用记录(能够查看所有的版本号) git rm:删除文件(删完之后要进行commit操作,才能同步到版本库) git clone:下载远程仓库到本地下载远程仓库到当前路径:git clone 仓库的URL 下载远程仓库到特定路径:git clone 仓库的URL 存放仓库的路径 git pull:下载远程仓库的最新信息到本地仓库 git push:将本地的仓库信息推送到远程仓库如果想了解git的工作原理,有几个核心概念必须知道 工作区(WorkingDirectory):仓库文件夹里除.git目录以外的内容 版本库(Repository):.git目录,用于存储记录版本信息 暂缓区(stage) 分支(master):git自动创建的第一个分支 HEAD指针:用于指向当前分支