学习笔记——GitHub基本操作

一、创造仓库

  首先我们要选择一个文件的路径,接下来将以这个路径所在的文件建造一个本地仓库。
复制该文件的路径到Iterm中,并执行git init语句,就生成了一个.git目录。这个目录可以理解为仓库的工作树;这时候我们再执行cd 文件的名称 就可以进入并操作这个工作树了;

 

二、操作工作树的基本命令

1)主要操作
git status:查看仓库的状态;
git add:向暂存区添加文件;
git commit:将暂存区的历史记录保存到仓库的历史记录中,即将暂存区提交到工作树上。  如果在git commit后面加 -m“XXX”是将XXX作为提交信息,是对这个提交的一个概述 。如果不加-m参数的话就会进入编译器,用来叙述提交内容,并且编译器中记录信息的格式如下:
 第一行:用一行文字简述提交内容
 第二行:空行
 第三行以后:记述更改的原因和详细内容
(如果在编译器启动后又不想提交了,就将提交信息留空并直接关闭编译器,那么这个提交就被中止了)
git log:查看提交的日志。后面加 -p加 文件名:显示文件的改动;后面加 —pretty=short:就显示第一行简述的信息;
git diff:可查看工作树、缓存区、最新提交之间的差别;
2)分支操作
git branch:后面不加任何参数:查看当前工作树的分支状态(返回分支前面带“*”的是我们目前所在的分支位置);后面加有自定义名称:创建一个以自定义名称为名称的分支;
git checkout 分支名:切换到该分支名的分支下;
git checkout -b 分支名:创建一个分支,并且切换到该分支下;
git merge —no-ff 分支名:(需要在分支名上级分支下执行)将分支名的分支合并到当前分支下;
git log —-graph:以图表的形式查看分支;
git reflog:查看当前仓库的操作日志;
git reset —hard 哈希值:回到哈希值所指示的状态; 哈希值可在git reflog命令执行后查看;
git commit —amend:修改上一条提交信息;

3)分支合并出现冲突的情况
需要先用编译器打开冲突文件,并进行更改,更改解决完冲突后,分别执行 git add 文件名 和git commit 命令;

4)需要合并两条提交并且已经合并到主分支的内容时(这两个内容是连续的)
执行 git rebase -i HEAD~2  将会进入编译器,这时候将第二个pick更改为fixup,保存并关闭编译器即可;

5)将本地仓库推送至远程仓库
需要在Github上建立一个仓库,并且获得仓库路径, 并执行git remote add origin 仓库路径(这个操作就将远程仓库的名称设置为origin),再执行git push -u origin master (这个操作会将当前仓库推送给远程仓库origin的master分支);
6)推送至master以外的分支
除了master分支以外,远程仓库还可以创建其他分支。执行git push -u origin 分支名 就可以将改分支推送到远程仓库中;
7)获取远程仓库
执行 git clone 仓库路径;
再进入该仓库的文件中,执行 git branch -a 命令 查看当前分支的相关信息, 如果需要获取远程分支 就执行git checkout -b 分支名 origin/分支名;
8)获取最新远程仓库分支
执行git pull origin 分支名 命令,就可获得该分支的最新内容;

2018.7.18 更

三、将本地代码上传至GitHub

1、打开终端,输入以下命令检查.ssh是否存在:

$ cd ~/.ssh

2、若提示“-bash: cd: ~/.ssh: No such file or directory” 那就说明.ssh文件夹不存在,输入以下命令,否则就是将原来的.ssh文件夹备份以下,亦或是切换到其他路径下建立ssh。输入以下命令来创建ssh:

$ ssh-keygen -t rsa -C xxx@xx.com

注:xxx@xx.com是你注册GitHub时的邮箱账号。

执行完以上的命令后,会有以下的提示

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/jlweng/.ssh/id_rsa):     //.ssh默认路径,不输入则不修改
Created directory '/Users/jlweng/.ssh'.
Enter passphrase (empty for no passphrase):                           //  输入密码,可以不填直接回车
Enter same passphrase again:
Passphrases do not match.  Try again.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/jlweng/.ssh/id_rsa.
Your public key has been saved in /Users/jlweng/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:hKkApjRTNiuGPEuKoZukf5IOvqv5Bm1kn3Wcek9cdig 329344430@qq.com
The key's randomart image is:
+—[RSA 2048]——+
|.=.+             |
|*.+ o  o         |
|+*..  o…   .   |
|*.*. …+ E + .  |
|+* ..o oS. + .   |
|+oo o . . o      |
|=o .   . o       |
|.++ .     .      |
|+B*o             |
+——[SHA256]——+

3、接下来在gitHub上创建SSH。首先登陆Github,右上角用户头像下选择Settings,在SSH Keys 选项里面添加ssh。

4、在Title栏输入邮箱地址,key栏输入生成的id_rsa.pub文件里的内容。终端输入以下命令即可打开id_rsa.pub文件:

cat ~/.ssh/id_rsa.pub

复制红框中的内容到key栏下。然后点击Add SSH key。 声明:该图片来自网络

4、然后GitHub上创建版本仓库(Repository),先不勾选创建README.md。

5、然后继续终端操作

5.1 初始化本地仓库和连接远程仓库:

$ touch README.md                                         //新建一个README文档,若上一步勾选了创建README.md,提交时导致冲突
$ git init                                                //初始化本地仓库
$ git add README.md                                       //添加刚刚创建的README文档
$ git commit -m "你的注释...."                             //提交到本地仓库,并写一些注释
$ git remote add origin 刚刚GitHub上创建的仓库地址  //连接远程仓库并建了一个名叫:origin的别名,当然可以为其他名字,但是origin一看就知道是别名
$ git push -u origin master                              //

5.2 把我们的项目源代码提交至远程仓库,使用git add命令,如下:

$ git add 项目目录/.       //"."号表示添加项目目录下所有文件内容
$ git add src/             //添加 src 文件
$ git commit -m "上传项目源代码"                         // 提交到本地仓库
$ git push origin master      

5.3 显示一下结果则表示上传成功。

Counting objects: 65, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (50/50), done.
Writing objects: 100% (65/65), 4.11 MiB | 6.00 KiB/s, done./s
Total 65 (delta 6), reused 0 (delta 0)
remote: Resolving deltas: 100% (6/6), done.
To https://github.com/J1Weng/Customer_Management.git
   c98f4eb..a306bc9  master -> master

刷新一下GitHub账号,就显示出了刚刚提交的内容。

2018.7.30 更

 问题: 往github上尝试上传第二个仓库 发现一直上传不成功 ,会报错 错误如下:

问题原因:我在github上创建仓库的时候同时勾选了创建README.md文件的选项。github上的仓库有了README.md 文件而本地的仓库没有,仓库文件不同步,所以上传本地仓库的文件到远程仓库时会失败。

解决办法:需要将远程仓库的代码和本地仓库的代码合并,推送之前先执行 git pull --rebase origin master 命令,然后再执行 git push -u origin master。

在github上创建第二个仓库具体流程:

1.  复制要上传文件的url到终端,执行git init ,即初始化了本地仓库
2.  git remote add origin 远程仓库的url
3.  git add 要上传的文件路径
4.  git commit -m "注释内容"
5.  git pull --rebase origin master //合并远程仓库的代码文件到本地仓库
6.  git push -u origin master

 

 

===========================持续更新=============================

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值