Git基础与Github的连接

安装与配置 apt-install git一句命令就可以解决
配置个人用户信息与电子邮件

$ git config --global user.name "xluos"//提交用户名 $ git config --global user.email email@xluos.com//如果要连接github这里要和github账户邮箱一致 // --global 选项设置为所有项目如果不加就是当前项目或用户

git config --list查看所有配置信息
基本使用 初始化:'git init在需要创建为版本库的目录下使用命令把该目录创建为版本库
添加到索引库(缓存区):git add [文件名]文件名支持通配符
常用的两个命令
git add -A添加所有改变、新建、删除的文件
git add . 添加所有跟踪过(曾经添加过索引)的文件
移除出缓存区:提交修改到本地版本库:git commit -m ‘提交说明(必须写)’
-a 选项直接提交之前add过的文件改动
克隆仓库:git clone [仓库地址] [克隆目录]目录为空的话默认当前目录,github中仓库地址在这里:

Git基础与Github的连接
文章图片
image.png
查看项目状态: git status -s
查看提交历史:git log [参数]
--oneline 查看简洁版本
--graph查看分支情况
--reverse 逆向查看
--author=用户名 查看特定用户提交
分支管理 列出/创建/删除分支:git branch [参数] [分支名]
没有参数时,列出现有分支
都为空 列出分支
参数为空 创建分支
-d 删除分支
切换分支:git checkout [参数] [分支名]
-b 创建并立即切换到新分支
当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。
合并分支: git merge [分支名] 将分支合并到主分支中
合并冲突,当两个分支有相同文件名不同内容的文件时,合并就会冲突。这个时候就要我们手动修改冲突后,使用git add告诉Git冲突解决
标签:git tag [参数] [标签名]标签说白了就是给某一次提交起一个名字方便我们切换找到这次提交,比如软件到了1.0 2.0版本的时候就应该创建一个标签方便有需要的切换到相应的版本,不然在大量的comment中找到一个特定版本太难记忆了。
-a标签加上注释,如什么时间谁打的
追加标签,对于之前一次提交在标签名后面放上需要标签comment号(log简洁查看时前面的编号)
-d 删除标签
git show [标签]查看该标签的版本改动
Github的使用 首先注册账号,然后创建一个远程仓库。
SSH公私钥的使用 创建密钥 首先在终端敲入,如果一路一直按回车下去,会把密钥文件放置在默认路径,也就是 ~/.ssh/ 路径下,并且会创建一套空密码验证的密钥文件,反之则每一次匹对公私钥都需要再手动输入一次密码,所以这里为了方便使用,建议一路回车下去就行
ssh-keygen

输入密钥文件保存路径,建议默认路径,按回车跳过
要求输入密码,建议回车使用空密码方便以后的每次连接
【Git基础与Github的连接】到选择存放密钥文件的路径下查看,我这里使用的使默认路径,所以使 ~/.ssh/ 路径下,可以看到生成了两个密钥文件,后缀为 .pub 的就是公钥文件,另一个没有后缀的就是私钥文件,可以看到密钥文件创建完毕
关联公钥到github账号下 首先复制公钥文件中的内容,也就是ssh-rsa开头到 用户名@主机名 这字段字符串
上传到Github
给远程库起个名字: 方便提交,git remote add 你起的名字 git@github.com:你的Github账户名/要上传的版本库.git
上传: git push -u 版本库名称 master(如要上传到其他分支用其他分支名)
更新本地:git fetchgit pull不同的是fetch取回不合并,pull取回直接合并
语法:git fetch <远程主机名> <分支名>,不写分支取回所有分支
语法:git pull <远程主机名> <远程分支名>:<本地分支名>不写本地分支默认合并当前分支
远程版本库操作:git remote [参数]
-v显示详细信息
无参数列出所有版本库
add ``添加远程库rm删除远程库rename ```原名 新名 远程库改名

    推荐阅读