【小白教程】git和gitHub基本使用方法

注:本文非标准教程,仅是总结个人学习过程,可能存在纰漏,如有错误之处欢迎留言告知,非常感谢
本文是基于ubutun操作的。
Ubuntu 安装git

$ sudo apt-get install git

win下载地址 https://www.git-scm.com/download/

常用功能小结

git init  //创建仓库
git add  文件名   //添加文件入库
mkdir 文件名 //创建文件名
git status //查看所有文件
pwd  //查看所处位置
git commit -m "log"  //该命令会将git add .存入暂存区修改内容提交至本地仓库中,若文件未添加至暂存区,则提交时不会提交任何修改。
git config --global username."名字" //关联你的gitHub.com账号 "名字"里填你的gitHub里的名字
git log  //用于查询版本的历史
git reset --hand commit id // 回退以前某个版本 id为你的某一个版本
git clone 地址 //(最好在新建文件夹里使用) 地址是你gitHub上的地址
git checkout -b brankName //创建并切换分支 brankName是你所创建的分支名
git branch  //查找所有分支(*是指你现在所处的位置)

详细教程

Git 关联 Github
1.注册Github账号
2.Github上面新建仓库
3.到本地 clone 已经新建的仓库

$ git clone https://github.com/~ //自己仓库Clone 的链接

在这里插入图片描述

进入克隆的目录下

$ cd /myWorkSpace

初始化一个git 仓库(在选定目录下)

$ git init //创建仓库

获取SHH Key

$ ssh-keygen -t rsa -C "xxx@xxx.com" //xxx是你自己注册GitHub的邮箱

获取SHH Key成功以后
进入到主目录下的 .ssh 路径

$ cd /home/~/.ssh
ls -a

会看到目录下有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,id_rsa.pub是公钥。

gedit id_rsa.pub

打开文件后复制其中内容
然后转到Github上设置自己的 SHH Key 在其中添加复制的内容
然后终端输入

$ ssh -T git@github.com

输入yes然后回车,成功后开始设置username和email,Github每次commit都会记录他们

$ git config --global user.name  "name"//你的GitHub登陆名
$ xxx@xxx.com"//你的GitHub注册邮箱

然后就可以继续了,把你想要上传的东西复制到你相应的本地git仓库
然后

$ cd ~/      // ~ 为你的仓库名,如从上面按教程往下,可忽略此步骤(因为你一直在此路径下)
$ git branch name  //新建分支 name 为你的自定义的新建分之的名称
$ git checkout name  //切换到 name 分支下
$ git add --all   //如果有本地仓库中有新增文件可执行这一句
$ git commit -m 'xxx'   //提交并增加一个注释,让自己知道这个版本提交了什么 'xxx'为注释内容
$ git push origin name   //上传提交的内容到Github上,成功后可在自己的Github上看到

如果确认提交的内容无误后,可选择合并主分支与新建分支
这一步可在Github网页上执行,也可以在本地通过bash执行

$ git checkout master   //切换到 master 主分支
$ git merge name   //将名称为name的分支合并到当前分支
$ git push   //提交更新

一些拓展操作

$ git remote add origin git@github.com:xxx.git    //关联一个远程库命令, git@github.com:xxx.git   这个是自己远程库
git push -u origin master    //关联后,第一次上传master分支的所有内容命令,此后,每次本地提交后,就可以使用命令git push origin master推送最新修改

补充:
github工作原理之一
本地库和远端库路径要同步.
出现的问题:我将本地库的整个文件夹(包含.git)移动了,
然后git push origin [branch_name]
首先报这个错: fatal: ‘origin’ does not appear to be a git repository
fatal: Could not read from remote repository

证明本地分支和远程分支断开连接

git branch 

——*master 只显示master
*表明你现在所处的位置
然后查看自己想上传的分支

git remote –v

——若什么都没有,则和上游已断联系,拉不了代码也推不了代码
加关联

git remote add origin git@github.com:[yourusername]/[repository].git

(如果加不了,就用git remote remove origin 删除即可)

然后再push,报错
error: failed to push some refs to ‘https://github.com/GDDXZ/RobotDenso.git
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., ‘git pull …’) before pushing again.

情况1

:它检测到一个是本地库, 一个是远端库, 然后本地要去推送到远端, 远端觉得这个本地库跟自己不相干, 所以告知无法合并

1.强制推送

使用这个强制的方法

git pull origin master --allow-unrelated-histories

后面加上 --allow-unrelated-histories , 把两段不相干的 分支进行强行合并
后面再push就可以了 git push origin master

2.正常解决

从远端库拉下来代码 , 本地要加入的代码放到远端库下载到本地的库, 然后提交上去 , 因为这样的话, 你基于的库就是远端的库, 这是一次update了

git clone [github仓库地址]
 本地要加入的代码放到远端库下载到本地的库
 git add --all
 ...
git pull origin master

PS:情况2这种情况也出现在:两人同时fetch了一个分支。 第一个人修改后提交,第二个人提交就失败。
两种方法

1.强制推送

$ git push -f
可以提交,会将remote上第一个人的改动冲掉,比较暴力,不太好。

2.正常解决

git fetch origin 然后git merge origin/master, 和本地分支合并, 之后再push
git 重命名仓库、修改远程仓库地址、修改仓库配置可参考:https://blog.csdn.net/u011884440/article/details/71246572

补充:

SSh Keys的创建
https://www.cnblogs.com/wx1993/p/6646973.html
https://blog.csdn.net/itmyhome1990/article/details/39668349

Github常见操作和常见错误!
https://www.jianshu.com/p/feb3a14c24ef

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值