git学习和使用(二) 远程版本库的操作和一些git的概念
2015-12-24 17:18
429 查看
上篇文章基本上把git的本地版本库的操作说了个差不多,只要你试着使用git维护一个项目,基本上就可以熟悉这个流程了,现在说一下git的远程库操作
使用git远程仓库,你首先得在github上注册一个帐号,git的文件传输使用了ssh保密协议,你需要创建自己电脑的ssh key。你可以先查看一下在你的用户目录下是否有 id_rsa 和 id_rsa.pub两个文件,如果有的话,就不需要生成了,如果没有的话
然后登录github网站,把你id_rsa.pub里的内容添加到github SSH Keys中,这样你的电脑就被github认识了,你也就可以往自己的远程仓库推送东西了,别人的电脑没有在你的仓库认证过,所以别人的推送是失败的。
在右上角找到新建仓库命令,Create a new repo,添加仓库名,其他默认,然后确定,一个远程仓库就OK了。你可以在本地克隆这个仓库,也可以把这个仓库和你本地的项目关联起来,推送内容到远程仓库
现在你的项目就和远程仓库关联起来了,现在你就可以把你本地库的内容推送到远程库了
推送成功,其实就是把当前分支推送到远程仓库,第一次推送的时候,加上-u 参数,会自动把分支对应起来,以后的推送命令就可以简化了,直接push就可以了
到这里git的基本操作就介绍个差不多了,说一下git的其他配置
在你本地的每个git管理的项目下,都有.git/config文件,记录了这个项目下,你git的配置信息
在用户目录下,还有git的全局配置文件 .gitconfig,里面定义了你的git配置,记得在这里把你的姓名和邮箱写清楚,你提交内容的时候,用户信息就是从这读取的
下面把git的常用命令全部写下来
如果你觉得命令太长,git提供你使用别名的方式,使用git config 命令就可以
命令大概只有这些,但是有的项目有很多乱七八糟的问题,很大,而且基本上没有改动,比如图片,视频文件,总不能每次把这些文件也传到版本库吧,那么就需要配置git的忽略文件了,在你的项目目录下,有.gitignore文件,里面定义的就是git管理会忽略的内容,你只需要把文件类型或者文件名加入到其中,就OK了
最后说一下,git的管理流程,你新建或者修改了文件,先从工作区add到暂存区,然后commit到本地库,然后本地库push到远程库,到这里你的代码才算是存到了github上,记得在每次push前 git pull 拉取一下代码,以防冲突。
git的学习都是从廖雪峰老师的博客下学习的,致谢,附上传送门
使用git远程仓库,你首先得在github上注册一个帐号,git的文件传输使用了ssh保密协议,你需要创建自己电脑的ssh key。你可以先查看一下在你的用户目录下是否有 id_rsa 和 id_rsa.pub两个文件,如果有的话,就不需要生成了,如果没有的话
➜ ~ >ls .ssh id_rsa id_rsa.pub known_hosts ➜ ~ >ssh-keygen -t rsa -C "你的邮箱"
然后登录github网站,把你id_rsa.pub里的内容添加到github SSH Keys中,这样你的电脑就被github认识了,你也就可以往自己的远程仓库推送东西了,别人的电脑没有在你的仓库认证过,所以别人的推送是失败的。
在右上角找到新建仓库命令,Create a new repo,添加仓库名,其他默认,然后确定,一个远程仓库就OK了。你可以在本地克隆这个仓库,也可以把这个仓库和你本地的项目关联起来,推送内容到远程仓库
#关联本地项目到远程库,origin是git默认的远程库名,是可以更改的,切换到本地项目目录,然后运行关联命令,初学者记得,这里关联的是自己的远程库地址,别复制 - - ➜ ~ >cd tiansi_git ➜ tiansi_git git:(master) >git remote add origin git@github.com:tiansidehao/tiansi_git.git
现在你的项目就和远程仓库关联起来了,现在你就可以把你本地库的内容推送到远程库了
➜ tiansi_git git:(master) >git push -u origin master Counting objects: 14, done. Delta compression using up to 4 threads. Compressing objects: 100% (14/14), done. Writing objects: 100% (14/14), 3.13 KiB | 0 bytes/s, done. Total 14 (delta 9), reused 0 (delta 0) To git@github.com:tiansidehao/uubpay_server.git 7205390..14efbb7 master -> master
推送成功,其实就是把当前分支推送到远程仓库,第一次推送的时候,加上-u 参数,会自动把分支对应起来,以后的推送命令就可以简化了,直接push就可以了
#推送master分支到origin(远程仓库) ➜ tiansi_git git:(master) >git push origin master
到这里git的基本操作就介绍个差不多了,说一下git的其他配置
在你本地的每个git管理的项目下,都有.git/config文件,记录了这个项目下,你git的配置信息
➜ tiansi_git git:(master) >cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true
在用户目录下,还有git的全局配置文件 .gitconfig,里面定义了你的git配置,记得在这里把你的姓名和邮箱写清楚,你提交内容的时候,用户信息就是从这读取的
➜ ~ >cat .gitconfig [user] email = tiansi@uubpay.com name = "田斯" [color] ui = true [alias] last = log -1 st = status
下面把git的常用命令全部写下来
"初始化git仓库,记得在项目目录下运行" git init "添加文件到暂存区" git add <file> "把暂存区文件提交到本地版本库" git commit -m "提交log" "查看工作区的状态" git status "查看修改内容" git diff "版本回退" git reset "查看提交历史" git log "查看命令历史" git reflog "版本库文件覆盖工作区" git checkout "删除文件" git rm "关联远程库" git remote add origin "你的远程库地址" "第一次推送" git push -u origin master "推送分支到远程库" git push -u origin master "克隆远程库" git clone "远程库地址" "查看分支" git branch "创建分支" git branch 分支名 "切换分支" git checkout 分支名 "创建+切换分支" git checkout -b 分支名 "合并指定分支到当前分支" git merge 分支名 "删除分支" git branch -d 分支名 "查看分支合并图" git log --graph "查看远程库信息" git remote -v "获取远程库代码" git pull "新建标签,标签默认打到最新一次的commit,也可以指定" git tag 标签名 "查看标签信息" git show 标签名 "查看所有标签" git tag "推送一个本地标签" git push origin 标签名 "推送全部未推送过的本地标签" git push origin --tags "删除一个本地标签" git tag -d 标签名 "删除一个远程标签" git push origin :refs/tags/标签名
如果你觉得命令太长,git提供你使用别名的方式,使用git config 命令就可以
➜ uubpay_server git:(master) >git config --global alias.st status ➜ uubpay_server git:(master) >git st On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean
命令大概只有这些,但是有的项目有很多乱七八糟的问题,很大,而且基本上没有改动,比如图片,视频文件,总不能每次把这些文件也传到版本库吧,那么就需要配置git的忽略文件了,在你的项目目录下,有.gitignore文件,里面定义的就是git管理会忽略的内容,你只需要把文件类型或者文件名加入到其中,就OK了
➜ uubpay_server git:(master) >cat .gitignore # See https://help.github.com/articles/ignoring-files for more about ignoring files. # # If you find yourself ignoring temporary files generated by your text editor # or operating system, you probably want to add a global ignore instead: # git config --global core.excludesfile '~/.gitignore_global' # Ignore bundler config. /.bundle # Ignore the default SQLite database. /db/*.sqlite3 /db/*.sqlite3-journal
最后说一下,git的管理流程,你新建或者修改了文件,先从工作区add到暂存区,然后commit到本地库,然后本地库push到远程库,到这里你的代码才算是存到了github上,记得在每次push前 git pull 拉取一下代码,以防冲突。
git的学习都是从廖雪峰老师的博客下学习的,致谢,附上传送门
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
相关文章推荐
- 聚类
- 谈谈自己的自学情况--Java
- 02: 均值(1.5编程基础之循环控制)
- textview设置字体的行距和字间距
- Scala class的构造方法与继承
- iOS开发系列--Objective-C之KVC、KVO
- Hello World!
- 启动MySQL时报错
- asp.net WebPages 速记4
- Centos下安装samba
- requireJS到底是什么?
- Python自然语言处理实践: 在NLTK中使用斯坦福中文分词器
- android初学之如何去除gridview点击时出现的黄色边框
- requireJS到底是什么?
- 282. Expression Add Operators
- 字符串分割(C++)
- ALSA声卡驱动中的DAPM详解之七:dapm事件机制(dapm event)
- 第一个用java-swing写的 图形界面程序-扫雷
- 异常处理和画板的保存
- python爬虫:批量刷新网页