Github使用入门之最最最初级
心血来潮,突然对Github的免费仓库有很大兴趣,虽然自己的代码水平蹩脚的要命,但是仓库不存代码,存些自己无聊拍的照片,文章,种子什么的也是极好的,😏,所以一通骚操作(认真学习),学了点皮毛,一些基础的操作也算没问题了!(MAC系统下,其他系统应该大同小异)
- 安装git
安装git这里就不详述了,windows系统,linux系统,mac系统下都有,问度娘就行了。 - git是什么
git是版本控制系统,我理解成就是一个存放代码的仓库,但这个仓库很强大,能帮你管理仓库😏。 - 建立仓库
主要有两种建立仓库的方式,一种是先在本地建立仓库,然后将其与远程仓库连接起来;另一种是在远程建立仓库,然后将其克隆到本地。-
从本地仓库开始
打开终端,先输入命令git --version
来测试下git是否已安装完成,若已安装就会显示安装的版本,最新版本应该是2.25,若未安装,需要安装,可问度娘😏。
安装完成后,需要做一些设置,打开Git bash,输入以下命令,这样设置就是告诉别人,你的名字及email地址是什么。$ git config --global user.name "yourname" $ git config --global user.email "email@example.com"
在本地纯英文路径下建立你的仓库目录,并将Git bash工作目录定位到该目录下,建立仓库。
$ mkdir learngit $ cd learngit $ pwd '检查当前目录是不是learngit $ git init '在当前目录下建立仓库
建立完成仓库后,可以测试下,在learngit目录下新建文件README.md文件,用记事本打开,输入文字:
Git is a version control tool. Git is a free software.
添加文件到仓库
$ git add README.md $ git commit -m "add README"
这样,就把README.md文件放到learngit这个仓库里了,可以对其进行版本管理了。
然后你需要将本地仓库与远程仓库进行关联,这样本地仓库的改动才能推送到远程仓库,也可以将远程仓库拉取到本地。$ git remote add origin git@github.com:username/learngit.git 添加远程仓库到本地 $ git remote set-url origin git@github.com:username/learngit.git 修改远程仓库地址 $ git remote -v 检查当前本地仓库对应的远程仓库 $ git remote rename origin [name] 修改远程仓库名 远程关联协议可以是 http(s)://或git://或user@server:/path.git支持的SSH协议-速度最快
下面列举常用的命令:
序号 命令 功能描述 1 git status 检视当前库状态 2 git log 检视日志,可以在后面添加参数,比如–graphy --pretty=oneline可以使日志以图形方式显示合并信息以及在一行之内显示每次的commit 3 git diff 检视当前暂存库与版本库的差别 4 git reset --hard HEAD^ 回退到上个版本 5 git reset --hard [commit id] 回退到指定的commit id 版本 6 git reset HEAD [file] 将制定文件从暂存区回退到工作区 7 git reflog 查看之前的命令,可查看之前的commit id 8 git checkout --[file] 丢弃最近一次add或commit后对工作区的修改 -
从远程远程仓库开始
从远程仓库开始需要我们先在Github远程先建立仓库,在Github建立远程仓库,如图所示:
然后将该仓库克隆到本地,使用如下命令
或者直接使用网站提供的功能"$ git clone git@github.com:username/learngit.git
Clone or download
"
-
- 仓库的使用
当建立完成远程仓库以及本地仓库并做好关联后,就可以开始使用了,使用过程中一个比较重要的概念是分支概念,刚建立完成的仓库只有一个主分支master,默认所有操作都在这个分支操作,但实际不推荐这么做,新建一个分支,然后在分支进行工作,一个好处是不会对主分支有影响,而且可以多个分支同时工作提高效率,最后工作完成后再合并到主分支。-
建立分支
$ git branch -v 检查当前分支情况 $ git branch dev 创建分支dev $ git checkout dev 切换到分支dev $ git branch -d dev 删除分支dev
创建分支以及切换到分支可以用一条命令实现:
git checkout -b dev
特别注意:由于git checkout [branch]与git checkout --file容易令人混淆,新版本的git在分支切换使用了新的命令switch,比如切换回master主分支可以用命令:git switch master
,创建分支并切换到该分支下也可以用命令:git switch -c dev
. -
合并分支
合并分支用命令git merge [branch]
,比如我要合并dev分支到master分支下,可以如下操作$ git branch -v 检查当前分支,若当前分支不是master,就用git switch命令切换到master分支 $ git merge dev 合并dev分支到当前分支
当然分支合并的里面具体内容很多,比如分支合并冲突,保留现场等问题,先不在这里讲了,以后再完善。
重点讲一个命令:git merge --no-ff -m "description" dev
在合并时,默认的合并方式为fast forward,这样的合并方式回丢失分支信息,为了防止丢失分支信息,需添加"--no-ff"
参数保留分支信息。
合并完成后,可以使用命令:git log --graphy --pretty=oneline
这样可以显示分支合并图清晰明了,方便查看合并情况。 -
推送与拉取
推送当前分支到远程仓库命令:$ git push origin master 推送本地master分支到远程仓库,也可以改成其他分支
拉取远程仓库到本地命令:
$ git pull origin master 拉取远程仓库主分支master到本地 $ git clone git@github.com:username/learngit.git 克隆远程仓库到本地
-
- 其他
等我使用段时间后再来补充☺️。 - 参考资料
廖雪峰的git教程
码云帮助中心