Git的使用<二> github的常用使用方法
2015-10-27 14:25
459 查看
这一篇主要接受github日常需要使用的方法。
为了学习,在github上建了一个repository https://github.com/LiangChaoPossible/LearnHowToUseGitHub.git
也就是说,git中,commit只是将代码提交到HEAD中,还是在本地,想要更新到服务端,则需要利用push。
修改前,里边的文本为“修改前”
修改后,如果直接进行commit,则会提示
Changes not staged for commit:
modified: learn_change.txt
正确的方法应该是:
如果我们同时修改了learn_change1.txt和learn_change2.txt,但是只想提交learn_change2.txt,那我们需要做的是:
从以上我们也看到,只有add了一个文件,才能进行commit,进而push到服务器上去。
利用stated的文件覆盖当前正在修改的文件,方法是:
创建分支
将本地代码切换到branch_1
切换后,可以利用git status 来查看自己再哪个分支,以免晕了。
当你处于master分支时,运行如下命令,即可merge branch_1的代码
之后,利用add,push和commit命令即可提交代码到服务端。
查看所有tag
查看某个tag的详细信息
如果你是修改了已经commit过的文件,然后add之后,如果需要撤销的话
如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 –amend 提交
为了学习,在github上建了一个repository https://github.com/LiangChaoPossible/LearnHowToUseGitHub.git
检出仓库
先检出到本地git clone https://github.com/LiangChaoPossible/LearnHowToUseGitHub.git ~/Desktop/LearnHowToUseGitHub
工作流
你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,指向你最近一次提交后的结果。也就是说,git中,commit只是将代码提交到HEAD中,还是在本地,想要更新到服务端,则需要利用push。
添加与提交
git add README.txt //使文件加入到版本管理里边 git commit -m "提交README.txt" //提交 git push origin master //将修改推送到matser分支上去,这样,在github上就能看到提交了
修改与提交
我们以learn_change.txt 为例。修改前,里边的文本为“修改前”
修改后,如果直接进行commit,则会提示
Changes not staged for commit:
modified: learn_change.txt
正确的方法应该是:
git add learn_change.txt git commit -m "提交修改的learn_change.txt" git push origin master
如果我们同时修改了learn_change1.txt和learn_change2.txt,但是只想提交learn_change2.txt,那我们需要做的是:
git add learn_change2.txt git commit learn_change2.txt -m "仅仅提交learn_change2.txt,不提交修改后的learn_change.txt" git push origin master
从以上我们也看到,只有add了一个文件,才能进行commit,进而push到服务器上去。
更新远程库的代码
git pull // 更新远程库的代码到本地
revert代码
如果你已经add了文件A,发现自己add有问题,可以回复调此次add。方法为:git reset 文件名称
利用stated的文件覆盖当前正在修改的文件,方法是:
git checkout 文件名称 //checkout也可以用于切换分支
分支
兄弟们在master上直接开发是不对滴,要叉的节奏。每次开发都需要自己的分支,ok之后再merge回去,安全又健康。下面我们来学习下分支相关的。创建分支
git branch branch_1 //本地创建分支 bit push origin branch_1 //将branch_1推送到服务器上
将本地代码切换到branch_1
git checkout branch_1
切换后,可以利用git status 来查看自己再哪个分支,以免晕了。
当你处于master分支时,运行如下命令,即可merge branch_1的代码
git merge branch_1 //merge branch_1的代码到master分支
之后,利用add,push和commit命令即可提交代码到服务端。
打tag
打tag是一个比较常用的功能了。git打tag的方法是:git tag-a tag名称 -m "tag的message"
查看所有tag
git tag
查看某个tag的详细信息
git show tag名称
如何revert
提交代码都接受了,那么如何revert呢。下面我们讲一下。1.撤销git add的操作
如果你是add了一个新文件,则撤销时利用:git reset HEAD filename //HEAD标示最新版本
如果你是修改了已经commit过的文件,然后add之后,如果需要撤销的话
git reset HEAD filename //unstage文件 git checkout -- filename //撤销文件的修改。本地文件也会被更改
2.利用上次commit的代码revert当前代码
git checkout -- filename
3.修改上一次的commit
有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用 –amend 选项重新提交:git commit --amend //可以修改上次的提交message
如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 –amend 提交
git commit -m 'first time commit' //第一次提交 git add forgotten_file //add 遗漏的文件 git commit --amend //进行amend操作,会将forgotten_file跟上一次提交合并为一次提交
git的版本号
git log我们可以看到,git的版本号都比较奇葩。竟然是一个hash值。很高端的样子。如果你觉得不方便看,就在关键节点打tag吧。大名鼎鼎的fork
用过github的哥们,都知道fork这个很nb,咱们下面介绍一下这个:1. 首先从仓库A,fork一个自己的仓库B,以后所有的改动都在这里了。
2. 改动完了,怎么把自己的修改merge到原来的仓库A呢?就要进行pullrequest
3.首先,在自己的仓库里边选择pull request。选择需要修改的文件之后,点击确定,待A的拥有者确定之后,代码就merge过去了,你就为仓库A做贡献了。很神奇吧。
4. 提交后的结果是:
Reference:
1. https://git-scm.com/book/zh/v1
2. http://www.bootcss.com/p/git-guide/
希望对大家有用。相关文章推荐
- RPC failed; result=22, HTTP code = 411
- 查看github pages文档的方式
- 使用BAE的基于Web.py的简单博客程序
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- 两分钟学会如何在github托管代码
- Git远程操作详解
- 25个 Git 进阶技巧(翻译)
- 详解版本控制利器Git,SVN的异同以及适用范围
- Ruby实现的删除已经合并的git分支脚本分享
- 在 Shell 提示符中显示 Git 分支名称的方法
- Git使用基础篇(一些常用命令和原理)
- git fork同步是什么意思?
- github配置使用指南
- github版本库使用详细图文教程(命令行及图形界面版)
- Git使用小坑 Out of memory错误的解决方法
- Python的高级Git库 Gittle