github是强大的版本控制工具,经常在Ubuntu系统写代码,所以此次作业基于Ubuntu系统介绍git的一些使用情况,在实际使用中相差并不大,感觉最大的差别倒是在vscode上,本文章参考孟宁老师https://mp.weixin.qq.com/s/Km5KuXPETvG0wCGHrvj9Vg。之前已经在我的系统上使用过github,在一些地方可能有些出入。
前置:安装vscode for linux
./VSCode/bin/code
便可直接运行。
本地与远端
打开一个空文件夹
接下来,在这里初始化github库,点击初始化仓库即可。
如下图
新建一个文件命名为readme.txt,vscode会提示本地有修改
点击加号保存这条change,也可以在更改多个之后再保存
点击对号提交本次修改
提示此次更改没有保存,是否先保存再提交,选择保存所有并且提交,原因应该是对readme.txt增加了字符,这个文件没有保存。
提示要提交到哪里,输入master,回车
如图所示,保存成功。在命令行中进入该文件夹,输入git log查看提交记录
:~/vs_code$ git log
commit b22a863b61f97a9b0daa6355bbe28da02c956d43
Author: xieyupei
Date: Mon Oct 19 14:34:01 2020 +0800
master
接下来,可将本地的提交push到远端,如图点击push,提示如右下角,没有远程仓库去push。
点击add,在github增加一个仓库,并复制url,输入复制的url,提示输入remote name,输入用户名和密码。即可在远端看到此次做出的修改。
在远端增加一个文件,也可通过pull拉到本地git pull url
如图所示,本地已增加该文件
团队项目中的分支与合并
使用git checkout -b anobranch命令创建一个新的分支,使用git checkout master可以签出到master分支,使用git branch可以查看所有分支。
:~/vs_code$ git checkout -b anobranch
切换到一个新分支'anobranch':~/vs_code$ git checkout master
切换到分支'master':~/vs_code$ git checkout anobranch
切换到分支'anobranch':~/vs_code$ git branch*anobranch
master
在本地创建anobranch.txt文件,git commit -m anobranch(此处的anobranch为此次提交的名字),使用git merge --no-ff anobranch将anobranch合并到master上,同时保留mybranch。
注意一下事项
1. 在本地创建branch以后,会将master的各文件复制到该branch下
2. git push URL anobranch 才会将修改push到anobranch分支,否则将默认提交到master分支。即使在本地commit到anobranch分支。
3. git branch -d anobranch 删除anobranch分支。
若在远端删除anobranch分支,pull命令并不能令本地的anobranch分支消失,必须执行上述命令。
4. 在vscode中修改或者增加文件以后必须先点击加号,将此次修改添加到暂存区,也可使用git add .来执行
5.每次push操作都会提示输入账号和密码,并且输入对应的远端仓库地址,有点麻烦,可通过配置ssh来简化该命令