名词说明:
- Git是版本管理的工具。
- Github是一个支持Git的仓库。
- Github desktop是管理Github远程仓库的的软件。
一、Github
Git需要记住一些命令,比较麻烦。这里首先讲下如何使用Github和Github Desktop,实现基本的上传和版本管理。Github的网址:https://github.com/。Github Desktop下载与安装:https://desktop.github.com/
在Github上新建账户后,登录。Github常见的三个操作:
- Watch:观察。观察别人的项目,当这个项目发生变动时,会在通知中心中收到消息。
- Star:星星。收藏的意思。
- Fork:拷贝。将别人的项目拷贝到自己的账户下,只是当前的版本,后续别人项目更新时自己这个拷贝的还是旧版本。对于一些比较重要的项目,自己可以留个底。一般来说不使用这个功能。
下载Github Desktop后安装,打开软件。然后可以创建自己的项目(或者称为仓库Repository)。建议新手按软件提示创建“desktop-tutorial”教学项目。按步骤操作,走一遍流程。常见的操作或命令有:
- Creat a branch:新建分支。当有很多个版本时,可以创建分支。如果没有多个版本,这个就可以不用操作。说个很有一个很有意思的现象,就是切换不同分支时,该项目的本地文件夹里的文件是不同的,这是git程序的效果(因为该文件夹里还包含一个.git的隐藏文件夹)。
- Fetch origin:获取云端的版本。在修改项目内容时,最好和云端同步后再操作。如果没有做这个操作,在不同步时,在push推送之前,系统也会让先Fetch,同步后才能推送到云端。
- make a commit:确认修改(或者记下修改)。当本地的文件发生变化,在Github desktop里会有个按钮"commit to ...",意思是在本地的项目中是否允许修改,此外在commit之前,要写个summary,简短说下做了哪些修改。
- Push: 推送。在commit之后,就可以点Push了,把本地更新推送到云端。
- Pull resquest:请求主分支master接收(拉)子分支的内容。如果自己仓库中子分支是更好的版本,那么可以请求主分支接受子分支的内容。或者是这种情况,自己当看到别人的项目时,想替别人做些修改,可以先Fork到自己仓库,然后修改后,可以creat pull request给被Fork的原作者。
- Merge:合并,接收另外一个分支的内容。一般是在Pull respuest后点同意合并。或者是在本地上操作直接将一个分支合并到另一个分支上。merge后没有的会增加,额外的不会被删除,还有其他规则,也有可能会出现冲突的情况,这里不再详细讨论了。
一般情况,2、3、4这三个操作比较常用。其他操作用的比较少。
本站的分享的一些代码也在我的Github上:https://github.com/guanjihuan。
二、Git的常用命令
- 查看:git config --list
- 设置邮箱:git config --global user.email "you@example.com"
- 设置名字:git config --global user.name "your name"
- 初始化:git init
- 添加修改的内容:git add .
- 确认修改内容:git commit -m 'version name'
- 远程操作:git remote
- 获取:git petch
- 获取并合并:git pull
- 上传并合并:git push
- 克隆:git clone
- 查看历史日志:git log
- 分支:git branch
以下是自己使用的一些命令和顺序:
- git config --list
- git config --global user.email "guanjihuan@163.com"
- git config --global user.name "guanjihuan"
- git init
- git add .
- git commit -m 'update'
- git remote show origin
- git remote add origin git@github.com:guanjihuan/package_name.git
- git remote show origin
- git push origin master 或 git push -f origin master(慎用加f。加f后,如果历史版本不一样,则会完全覆盖)
更多参考资料:
[1] Git 创建仓库 | 菜鸟教程 (runoob.com)
[2] Github清空远程仓库_sinat_34937826的博客-CSDN博客_github清空仓库
【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com】