您的位置:首页 > 编程语言

Git的使用<二> github的常用使用方法

2015-10-27 14:25 459 查看
这一篇主要接受github日常需要使用的方法。

为了学习,在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/

希望对大家有用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  github git