ubuntu18.04中安裝使用github

时间:2024-03-27 17:55:56

1.创建账户

网址:https://github.com/join

2.ubuntu安装github

$sudo apt-get install git
$sudo apt-get install -y git-daemon-run git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn

3.设置SSH Key

GitHub上连接已有仓库时的认证,是通过使用了SSH的公开**认证方式进行的。
创建公开**认证所需的SSH Key,并将其添加至Github。运行下面的命令创建SSH Key:
$ssh-****** -t rsa -C “刚刚注册时使用的邮箱”
$ls
id_rsa id_rsa.pub(id_rsa是私钥文件 id_rsa.pub是公钥文件)

4.添加公开**

在Github上添加公开**,今后就可以用私有**进行认证了。
点击github web界面右上角的settings,选择SSH and GPG keys,点击New SSH key,title任意设置,在终端中运行catidrsa.pub使Shift+Ctrl+CKeyAddSSHKeycat id_rsa.pub显示刚刚创建的公钥内容,选择该内容,使用Shift+Ctrl +C复制邮箱前的所有内容,将复制的内容添加到Key的内容框中,点击Add SSH Key。 在终端中运行 ssh -T [email protected]
Hi muxintong! You’ve successfully authenticated, but GitHub does not provide shell access.
若显示以上内容则代表认证成功。

5.使用GitHub

1.版本管理:即管理更新的历史记录。可以记录一款软件添加更改源代码的流程,利于回滚恢复。
版本管理系统:

  • 集中型:Subversion
    将仓库集中存放在server中,故只有一个仓库。一旦开发者所处的环境无法连接server就无法获取最新的源码,开发将无法进行。
  • 分散型:GitHub
    GitHub将仓库Fork给了每一个用户。
    Fork即为将Gitub的某个仓库复制到自己的电脑中,注意Git将使用一个不存在的目录进行复制。
    Fork出的仓库与原仓库是两个不同的仓库,开发者可随意编辑。

2.初始设置:设置用户名和邮箱,提高命令可读性
$git config --global user.name “用户名”
$git config --global user.email “邮箱”
$git config --global color.ui auto
$cat ~/.gitconfig

3.创建仓库
Git web界面中点击右上角工具栏的New Repository

  • Repository name
    仓库名称

  • Description

  • Public,Private
    公开仓库的内容全部公开,私有仓库收费

  • Initialize this repository with a README
    在此项打钩,随后Gitub会自动初始化仓库并设置README文件,让用户可以立即clone这个仓库。若向Github中添加已有的仓库,建议不要勾选,直接手动push。

  • Add .gitignore
    可在初始化时自动生成.gitignore文件,把不需要在Git仓库中进行版本管理的文件记录在该文件中,省去了每次根据框架进行设置的麻烦。下拉菜单中包含了主要的语言及框架,选择今后将要使用的即可。

  • Add a license
    选择要添加的许可协议文件。
    如果这个仓库中包含的代码已经确定了许可协议,在这里选择。
    随后将自动生成包含许可协议内容的LICESE文件,用来表明该仓库的许可协议。

4.连接仓库
下面的URL即为刚刚创建的仓库的页面
https://github.com/用户名/HelloWorld

  • README.md
    表明仓库所包含的软件的概要,使用流程,许可协议等。
    点击右上角的图表编辑。
    可使用Markdown语法描述,可添加标记。

5.编写代码

  • clone已有仓库
    $git clone [email protected]:muxintong/HelloWorld
    ubuntu18.04中安裝使用github

  • 编写代码
    ubuntu18.04中安裝使用github

  • 提交
    将文件提交至仓库,该文件将进入版本管理系统的控制之下。
    git add:将文件加入暂存区
    git commit:将暂存区中的文件提交之至github
    git log:查看提交日志
    git push:更新github仓库
    ubuntu18.04中安裝使用github
    ubuntu18.04中安裝使用github
    代码将在github上公开,可使用http://githhub.com/用户名/HelloWorld查看
    可在百度中提交网址,这样就可以被他人搜索到。

6.github常用操作

  1. 基本操作

git init:初始化仓库。要使用Git进行版本管理,必须先初始化仓库。建立一个目录并初始化仓库。
ubuntu18.04中安裝使用github
可见初始化的目的是为了生成.git这个目录,可ls这目录看看里面都生成了什么。这个目录里存储着管理当前目录内容所需的仓库数据。
将.git目录的内容称为“附属于该仓库的工作树”,文本的编辑工作在工作树中进行,然后记录到仓库中,以此管理文件的历史快照。如果想将文件恢复到原先的状态,可以从仓库中调取之前的快照,在工作树中打开。

git status:查看仓库的状态
ubuntu18.04中安裝使用github
提交指:记录工作树中所有文件的当前状态。尚无提交是指我们创建的这个仓库中还没有记录任何文件的任何状态。下面创建README.md文件作为管理对象,为第一次提交做前期准备。
ubuntu18.04中安裝使用githubgit add:向暂存区中添加文件。根据提示的内容显示:如果只是使用了git的工作树创建了文件,那末该文件并不会被记录到git的版本管理对象中,因此会显示在未跟踪的文件里,接下来根据提示使用git add建立跟踪。
ubuntu18.04中安裝使用github
git commit:将当前暂存区中的文件实际保存到仓库的历史记录中。通过这些历史记录,就可以在工作树中实现复原文件。
ubuntu18.04中安裝使用github
-m:指定一个简短的提交信息描述。若不加-m直接使用git commit则执行后编辑器就会启动,在编辑器中记录提交信息的格式如下:第一行:用一行文字简述提交的更改内容;第二行:空行;第三行以后:记录更改的原因和详细内容。若在编辑器启动后想中止提交,将提交信息留空并直接关闭编辑器,随后提交就会终止。
git log:查看提交日志
git log --pretty=short:只显示第一行简述信息
git log README.md:只显示指定目录,文件的日志
git log -p:查看提交所带来的改动。
git log -p <fileName/directoryName>:查看特定文件或目录的改动信息
ubuntu18.04中安裝使用github
git diff:查看更改前后的差别。git diff可以查看工作树,暂存区,最新提交之间的差别。"+“表示添加,”-"表示删除。
git diff HEAD:查看本次提交与上次提交的差别,等确认完毕后在进行提交。HEAD是指向当前分支中最新一次提交的指针。
ubuntu18.04中安裝使用github
2. 分支操作

在进行多个并行作业时用分支操作。不同分支中可以同时进行完全不同的作业,等该分支的作业完成后在与master分支合并。可以让多人并行开发。
git branch:显示分支列表。"*"表示当前所处的分支
git branch :创建一个新分支
git checkout :切换到特定分支
git checkout -b :创建并切换到新创建的分支
git checkout -:切换回上一个分支
创建的各个分支可在.git目录下的refs下的heads目录中查看。
ubuntu18.04中安裝使用github注意:在分支A中修改了文件,在分支A中可以查看到文件的变更。但是切换回master分支后发现master分支中的文件仍然保持原来的状态。即分支A的更改不会影响到master分支。故只要创建多个分支,就可以在不互相影响的情况下同时进行多个功能的开发。

git merge --no-ff :合并分支。需处在主干分支master下进行分支合并操作。为了在历史记录中明确记录下本次分支合并,我们需要创建合并提交,因此,在合并时加上–no-ff参数。
git log --graph:以图表形式查看分支
ubuntu18.04中安裝使用github注意:在此次合并之后我们再次查看master分支中文件的内容,发现合并之后master分支中的内容已经更新。
ubuntu18.04中安裝使用github 3. 更改提交操作

git reset --hard :要让仓库的HEAD,暂存区,当前工作树回溯到制定状态,需要使用git reset --hard命令并提供回溯时间点的hash值,就可以完全恢复至该时间点的状态。
现在回溯到分支A创建之前的状态:由于所以有的文件都回溯到了指定的哈希时间点上,README.md的文件内容也恢复到了当时的状态。
ubuntu18.04中安裝使用githububuntu18.04中安裝使用githubgit reflog:git log命令只能查看以当前状态为终点的历史记录,而git reflog命令可以查看当前仓库的操作日志。
git commit --amend:修改提交信息
git rebase -i HEAD-2:压缩历史,选定当前分支中包含HEAD(最新提交,即指向当前提交的一个指针)在内的两个最新历史记录作为对象并在编辑器中打开。

  1. 推送至远程仓库
    Git为分散型的版本管理系统,前面接触的都是针对单一本地仓库的操作。下面将本地仓库推送至远程网络仓库以供他人访问。同样现在github web界面新建一个仓库,为了防止与其它仓库混淆,新建的仓库名与本地仓库名(目录名)保持一致,注意这次创建时不要勾选Initialize this repository with a README选项。因为一旦勾选该选项,github web端的仓库就会自动生成README文件,从而创建之初便于本地仓库失去了整合性,虽然可以强制覆盖,但最好不要勾选,从而使用本地仓库的README文件。点击Create repository创建仓库。
    ubuntu18.04中安裝使用githubgit remote add:添加远程仓库。
    在github上创建的仓路径为"[email protected]:用户名/git-tutu.git".在终端中使用git remote add 命令将它设为本地仓库的远程仓库。
    git push:推送至远程仓库。
    ubuntu18.04中安裝使用github可以推送至master分支:使用git push命令之后,当前分支的内容就会被推送给远程仓库的master分支。-u参数可以在推送的同时,将origin仓库的master分支设置为本地仓库当前分支的upsream。添加了这个参数,将来运行git pull命令从远程仓库获取内容时,本地仓库的这个分支就可以直接从origin的master分支获取内容,省去了另外添加参数的麻烦。
    推送至master分支以外的分支:除master分支之外,远程仓库也可以创建其它分支。
    ubuntu18.04中安裝使用github
  2. 从远程仓库获取
    首先需要切换到其它目录,将github上的仓库clone到本地。
    git clone [email protected]:用户名/仓库名
    git branch -a:查看当前分支的相关信息,添加-a参数可以同时显示本地仓库和远程仓库的分支信息
    git pull <仓库名> <分支名>:获取最新的远程仓库分支
    ubuntu18.04中安裝使用github
    ubuntu18.04中安裝使用github
    ubuntu18.04中安裝使用github