Git与GitHub

 一、GitHub


1、GitHub注册地址:https://github.com

  注册第一步完成就会发送邮件验证

 

2、进入邮件点击验证,就会跳转GitHub创建仓库:

   

也可以在GitHub右上角创建仓库

进入首页

 

 

二、Git


 

GitHub注册并创建好仓库,需要Git来远程操作

Git下载地址:https://git-scm.com/downloads,点击windows会自动下载对应的版本。

官网下载很慢的话,可以到软件管家里下载很快

  

 

安装git

1、双击安装程序

2、点击next

 

3、选择安装路径,点击next

  

一路next

  

  

  

  

新增功能不稳定,点击安装

  

安装完成:

 

 Git使用

Git工作示意图:

 

1、电脑中新建一个GitHub目录,在目录中右击Git Bash Here

2、在Git Bash中输入命令git version,看到版本信息说明安装成功

 

3、git  --help 查看帮助

 

4、git init  初始化当前文件夹为版本管理仓库,并且在当前文件夹下创建一个.git隐藏文件、里面为版本管理文件

  

5、vim  test.py  创建一个test.py文件

  

6、提交文件到版本库需要2步

git add  xx    从工作区增加xx文件到暂存区。   git  add*  增加所有文件到暂存区

git commit  -m  '注释'     从暂存区提交到版本库(一定要注释,SVN可以没有)

 

提示没有配置用户信息

 7、配置用户信息

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

配置git用户名与GitHub账户可以不一致,如果一致的话可以在GitHub仓库中直接点击账户可以链接进入GitHub账户首页

不一致时就不能点击账户。

 

8、git status 查看状态后提示未提交

 git commit  -m  '注释'   提交至版本库

 

 修改文件撤回的几种情况

1、在工作区修改test.py 文件后突然想撤销

根据提示命令git restore xx文件

 

 

2、提交到暂存区突然想撤回修改

先从暂存区打回到工作区,在工作区撤销

查看状态时:红色的代表文件在工作区(不具备版本管理,工作区修改的文件未git add,状态为红色),

      绿色的代表文件在暂存区(暂存区具备版本管理,git add 后的文件就被跟踪了。)

      版本库具备永久记录历史版本功能

   

3、提交到版本库了,不能回到工作区撤销,可以回到某个版本

git log 查看版本记录

git reset --hard 117d5c  回到某个版本号

 git reset --hard HEAD^^^  回到上上上个版本号

git reflog   版本号没了,可以通过操作的版本信息记录来找到

   

 

 配置秘钥与GitHub远程空仓库连接,并推送文件

1、执行命令   ssh-keygen -t rsa -C “you@example.com”,按三次回车

 2、进入/c/Users/Lenovo/.ssh/id_rsa.pub复制公钥

   

3、配置秘钥:

GitHub→Setting→SSH and GPG Keys →new SSH Key →Title任意取

 

 4、验证秘钥配置成功:

ssh -T git@github.com

 

5、推送到GitHub远程创建好的空仓库

首次要先建立ssh桥梁,地址到GitHub上复制(不是克隆的本地版本库与远程仓库名称也不一致需要增加连接名称,以方便后面使用)

git remote add orgin git@github.com:xx用户/helloworld.git

git remote 查看连接名称

git remote -v 查看连接远程服务器详细地址

git push orgin master  推送到远程仓库主支(克隆的版本库直接使用git push命令)

 

GitHub上看到代码推送上去了

 

 如果GitHub创建仓库时添加了README,就会推送不成功,需要先pull到本地工作区,再push(保存文件同步一致)

git pull orgin master  

 

 

克隆远程GitHub仓库到本地

——建议刚开始就先把远程GitHub仓库克隆到本地,保持本地目录名与远程仓库名一致。这种操作方式比先建本地版本库,

再连接远程地址要好用。比如推送时直接git push,不需加origin master;而且本地修改后可直接push,不要先pull

1、git clone xx地址到GitHub上复制

并且在本地hellowrld文件夹里面有个.git版本控制隐藏文件

添加1.txt文件并推送远程仓库

 

 

2、添加2.txt文件推送到远程仓库,再删除远程仓库2.txt

 

3、git rm 2.txt 删除直接到暂存区,并推送成功

 

4、万一不想删除2.txt,想通过版本回退方式撤销已经push到远程仓库的操作。需要加一个参数--force

  先在本地执行版本回退:git log  查看版本记录

             git reset --hard 5cf337   回到上个版本

黄色部分提示本地版本落后远程仓库版本

强制覆盖远程仓库的版本信息,使远程仓库也回到响应的版本:git push --force 

本地查看git log也没有此版本后的版本信息了。

   

添加忽略文件不上传到远程仓库

 1、在文件夹中直接添加a.png   dd/dd1.txt   tt/tt1.txt

 

 2、通过git bash 添加.gitignore 文件,并将a.png 和dd/dd1.txt 添加到.gitignore中。查看状态就不会显示隐藏文件a.png  和dd/dd1.txt 

      

3、git add .  命令将所有文件添加到暂存区(包括隐藏文件.gitignore,git add *不能),git push成功,隐藏的文件并没有上传

   

 

张三、李四同时 修改文件提交引起冲突,使用merge tools工具合并

1、李四克隆

2、张三克隆

3、李四修改1.txt,增加lisi,并git  push成功

    

 

3、张三修改1.txt,增加zhangsan,并git  push,出现报错

   

4、黄色中提示git pull下来,git pull下来提示Automatic merge failed自动合并失败,需手动去合并。

5、进入张三本地查看1.txt,发现文本变化

6、这时可以可以手动修改,也可以通过mergetool合并工具来修改(只能对纯文本)

命令行输入git mergetool

 

wq保存4次退出,在本地文件夹中多出一个1.txt.orig备份文件、备份修改之前的内容,可以删了也可以添加到.gitignore 中,然后git bash命令行中重新提交并推送

    

 

 

 

 

 

 

 

 

 

更详细git使用:https://www.cnblogs.com/smuxiaolei/p/7484678.html#top

posted @ 2019-08-20 21:33  白面书生。  阅读(406)  评论(0编辑  收藏  举报