【git版本控制-笔记】by lijun
0.推荐学习网址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
1. git SVN版本控制系统比较
git是分布式 SVN是集中式
2. github网站 上注册账号 下载桌面客户端
注册地址:https://github.com/signup/free
giuhub可视化软件:https://desktop.github.com/ 下载安装
3.实践使用记录
主要界面介绍
安装完成后,桌面会出现两个图标
双击GitHub,进入主界面。
首先登陆:输入GitHub账号和密码
登陆之后显示主界面,此时可以跟着它的教程做一遍,熟悉大致流程:
接着是主界面的介绍,如下图:
这里将对每个红框的区域进行大致说明:
1. 这是新建功能,里面有:
Add 添加已创建的本地代码库
注意!如果在Create之前直接导入一个代码库(本地文件夹),会提示create a repository,点击进入Create。不用更改,直接点击下面的Create repository。
- 这时可能会自动帮你添加到Other部分(即上图的3)。
- 也可能没有任何变化,如果出现这种情况,请再次点击Add选项。你会发现点击Add repository也没用。这时将Local path位置的路径最后一个字母删掉,接着补回来,这样就可以成功Add了。(至于为什么要这么麻烦,我也不清楚,这个方法是我试出来的,如果你有其他更好的方法,分享一下吧)
- Create 创建新的本地代码库
Clone 从GitHub上下载已有的代码库
2. 这里是已经与GitHub同步的代码库。
3. 这里是本地的代码库。里面有:
- 没有提交到GitHub的代码库
- 更改后未同步的代码库
4. 如果当前本地代码库有更改,会将更改的文件显示在这里。这里只是缓存。
5. 如果想提交缓存里的修改修改到本地代码库,需要在这里填写修改摘要(Summary)和详细描述(Description)。然后点击Commit to master,提交到本地代码库。
6. 如果按照上面的步骤提交到本地代码库,则可以看到那些文件都移动到这里了。此时提交到本地代码库完成。但是还需要将其同步到GitHub上面。
7. 上面4-6都是在这里的红框选项卡内。这里表示最新情况。
8. 与上面7不同的是,这里表示提交历史。也可以通过选择下面的master上的圈圈来查看历史提交。
9. 请求合并。如果你从其他人的GitHub上Fork代码库到你的GitHub并进行修改,又希望其他人将你的代码与他的合并,可以提交请求。如果审核通过,那么你成为这个项目的贡献者之一。
10. 与上面9不同的是:这里将你的代码与你所参与的项目(有写权限)进行同步(Sync)。如果是是第一次提交代码库,这里显示的是Publish。
操作部分,以Helloworld为例:
-
如果先在GitHub中创建好了代码库,那么先用Clone功能,将代码库Clone到本地。此时会将其显示在上图的2中。
-
找到该代码库的本地位置。右键-》Open in Explorer。
-
把用Android Studio或其他IDE创建的Helloworld项目移动到这个文件夹内。
-
在上图7,可以看到发生了变化。接着按照上面5-》6-》10,将项目同步到GitHub上。
五、其他功能
1 分支
- 左边表示新建一个分支(branch),从当前的master中另外分出一个支线。
- 右边可以切换分支
2 设置
选项 | 功能 |
---|---|
Undo most recent commit | 如果上面的第5中,Commit之后又想撤销,则点击。 |
Delete master... | 如果创建了新分支,又想删除,则点击。 |
Reponsitory settings... | 当前代码库的设置。 |
Open in Explorer | 在资源管理器中打开当前项目。 |
Open in Git Shell | 用命令行模式打开。 |
View on GitHub | 到GitHub上查看。 |
Options... | 软件的设置。 |
3 版本回退
在某个代码库的History选项卡下,是该代码库每次提交的情况。左边最上面的版本是最新版,最下的是初始版本。
-
左边上面的红框表示版本回退,Revert "Game EightDigit",回退到Summary为Game EightDigit的版本。
-
版本回退操作,只需选定某个版本,点击右边红框处的Revert即可。该Revert可以跨版本回退,不用一步步回退。
Note: GitHub Desktop之前的版本好像是把它区分开。分为
- Roll Back to this Commit
- Revert this Commit