Git命令使用教程

git文件提交大致流程:

本地文件( git add 文件名) → 暂存区(git commit -m 提交信息)→ 本地仓库(git push 远程仓库地址(复制的) 分支名称(要推送的分支名称)) → 远程仓库(github)

git操作详细流程:

1、先配置提交人姓名和邮箱信息

(1)设置用户名和邮箱

git config --global user.name 姓名

git config --global user.email 邮箱

(2)修改用户名和邮箱

git config --global --replace-all user.name 姓名

git config --global --replace-all user.email 邮箱

(3)git config --list 查询信息是否配置好

Git命令使用教程_第1张图片

tip:此操作,环境配置的时候操作一次即可

2、项目初始化 — 推送远程仓库步骤

(1)初始化(在指定的目标文件夹下 — 项目存放的地方)

  • 步骤:进入项目文件夹,然后空白处鼠标右键,点击 Git Bash Here 
  • 指令:git init
  • 作用:创建git仓库(.git文件夹)

Git命令使用教程_第2张图片

tip:此操作,每个新项目开始时执行一次即可

(2)git add 文件名(添加到暂存区)

  • 步骤:进入项目文件夹,然后空白处鼠标右键,点击 Git Bash Here 
  • 指令:git add 文件名 — 提交指定的文件
  • 指令:git add . — 提交所有的修改的文件(常用)
  • 作用:把修改过的文件添加到暂存区

Git命令使用教程_第3张图片

tip:git status 查看文件状态(文件是否提交到暂存区 红色表示没有 绿色表示已提交)

(3)git commit -m 提交信息

  • 步骤:进入项目文件夹,然后空白处鼠标右键,点击 Git Bash Here 
  • 指令:git commit -m 提交信息
  • 作用:把文件提交到git仓库( 提交信息可以反应这个文件内容的,注意,这个会提交暂存区的所有文件,如果有的文件不需要提交,先删除)

Git命令使用教程_第4张图片

tip:git log 查看提交到git仓库的记录(有id,恢复版本的时候需要)

        git reflog 更全更详细可以查看所有分支的所有操作记录信息,包括已经被删除的 commit 记录和 reset 的操作

(4)从本地仓库提交到远程仓库(github)

注意:团队开发需要共享数据是,设置远程仓库才有意义,如果是一个人做项目,那么就没必要设置远程仓库(公共仓库)

① 本地仓库创建 在本地文件夹里 git init 创建 —— 第2(1)步

② 远程仓库在github上创建

③ 复制 远程仓库地址

④ 将本地仓库推送到远程仓库

  • 步骤:进入项目文件夹,然后空白处鼠标右键,点击 Git Bash Here 
  • 指令:git push 远程仓库地址(复制的) 分支名称(要推送的分支名称)
  • 作用:团队项目,数据共享

tip:① master一般是主分支,我们开发都是在其他分支,最后会合并到主分支,所有提交的时候要注意分支切换;

② 如果你的分支切换好了,直接git push 仓库地址即可,

③ 如果你在master分支,把文件提交到其他分支,那就需要跟着写分支名称,git push 远程仓库地址(复制的) 分支名称(要推送的分支名称)

Git命令使用教程_第5张图片

3、远程仓库起别名

(1)修改远程仓库名称

  • 指令:git remote add origin(别名,自定义,可以取其他的) 远程仓库地址(复制的)
  • 作用:推送到远程仓库的时候,就不需要复制地址了()

tip:origin我们取的名字,等同于远程仓库的地址

(2)远程仓库别名 之 git push

① git push origin

  • 指令:git push origin 分支名称
  • 作用:推送到远程仓库的时候,就不需要复制地址了(只需要 git push origin 分支名称)

② git push -u 

  • 指令:git push -u origin 分支名称
  • 作用:推送到远程仓库的时候,就不需要复制地址了(只需要 git push)

(3)git push origin  和 git push -u  区别

  • git push origin:将当前分支推送到origin主机的对应分支;如果当前分支只有一个追踪分支,那么主机名都可以省略。
  • git push 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push。
  • git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

4、例子

程序B 克隆A的进行修改然推送回去

①克隆程序员A的远程仓库

git clone 仓库地址(复制)

②将修改好的文件推送到程序员A的远程仓库

首先把修改好的文件 提交到暂存区 然后在提交到git仓库中

然后在推送到程序员A的远程仓库(必须程序员A在github上把程序员B设置成团队开发成员,然后程序员A把程序员B的账户名添加上去,然后程序员A把邀请链接发送给程序B,程序员B登录github把邀请链接复制在地址栏,点击同意,然后就可以把修改好的推送到程序员A的远程仓库)

程序员A将最新的仓库文件 拉到本地

git pull 远程仓库地址 分支名称

注意:git clone 是克隆别人的文件 自己没有本地仓库也没事

git pull 是拉取 建立在自己的仓库之上

如果本地仓库的文件版本没有远程仓库的版本新,是推送不上去的,

5、分支介绍

主分支:第一次向git仓库提交是自动产生的 master

开发分支:基于主分支创建 login

功能分支:基于开发分支创建 ,一般都是在功能分支上进行修改

6、分支的基本操作:

① 查看分支 git branch (前面哪有五角星 就说明咋哪个分支上 也可以看后面的括号)

② 创建分支(在哪个分支操作,就是在哪个分支上创建分支)

git branch 分支名称

③ 切换分支(切换分支之前,当前分支上的文件一定要提交到git仓库中,否则没提交的文件会出现在切换后的分支里)

git checkout 分支名称

④ 合并分支(要合并个哪个分支就先切换到哪个分支(例如:login开发分支合并到master主分支,我们就先切换到master主分支),合并后,原来的分支(login)依然存在)

git merge 要合并的分支名称

⑤ 删除分支 (不能再本分支删除本分支,必须先切换到其他分支)

git branch -d 分支名称 (分支被合并后才允许被删除,这是Git对分支的保护,怕git仓库的文件丢失)

git branch -D 强制删除(没有合并就删除的操作)

⑥ 暂时保存更改 (因为切换分支之前,必须把当前分支工作全部提交,但是如果还没完成当前分支工作,又不想提交,但是又需要切换到其他分支,就可以用下面方法)

先保存起来,分支临时切换 临时转向其他工作

临时存储 git stash

恢复 git stash pop (在哪个分支恢复,就会在哪个分支,所以恢复钱一定要清楚再哪个分支)

7、其他操作:

(1)恢复记录 用暂存区文件 覆盖 需要修改的本地目录的文件

git checkout 文件名 暂存区覆盖目录文件(目录去文件修改后,恢复成原来的版本)

(2)删除暂存区的文件

git rm --cached 要删除的文件名

(3)用git仓库文件 覆盖 暂存区和工作目录中的文件 (相当于恢复原来的文件版本)

git rest --hard commitID (commitID id名可以直接复制)

注意:如果用第一次提交到git仓库的文件进行覆盖和恢复,那后面提交到git仓库的文件就会被删除,暂存区和本地目录下如果是后面建的文件会被删除,修改的也会被恢复,

8、ssh免登录

公钥:保存在github的账户中

私钥:保存在客户端

原理:当客户端进行push的时候,会携带私钥,远程服务器就会去比对是否匹配,如果匹配,那么push成功

① 生成秘钥 利用ssh-keygen 生成一对秘钥 生成的密钥在C:\\Users\当前用户名称\.ssh 文件夹里面

② 在githu中添加公钥

在电脑c盘里找到id_rsa.pub文件,复制里面的内容,这个就是公钥,然后到github上,点击头像 → 选择settings(设置选项) → 右侧选择SSH and GPG keys →

在key下面的文本框里面粘贴复制的内容(公钥) → 最后点击Add SSH key(添加)完成

③ 本地利用push命令进行提交即可,git会默认帮我们携带私钥,在提交的过程中,它会自动去匹配服务器上的公钥和客户端的私钥,如果匹配成功,那么就能提交,如果失败,不能提交(总结:本地仓库提交到远程仓库的时候,就不用在输入登录名和密码了,它会自动匹配)

9、Git忽略清单

生成忽略名单:直接在代码编辑器里面新建文件,文件名就是: .gitignore

作用:将不需要被git管理的文件名字添加到此文件中,在执行git命令的时候,git就会忽略这些文件,不会提交到暂存区,也就不会提交到仓库。

10、github仓库的详细说明

可以在github直接设置,设置详细说明,可以方便知道这个仓库是放什么的。

11、git命令大全

1. git config --global user.name //配置姓名

2. git config --global user.email //配置邮箱

3. git config --list //查看配置信息

4. git init //初始化本地仓库

5. git status //查看文件状态

6. git add 文件名 //添加某个文件到暂存区,如果写 . 代表当前文件夹下所有的文件、

7. git commit -m 日志说明 //提交到本地仓库

8. git log //查看提交记录

9. git reflog 更全更详细

10. git checkout 文件名 //撤销,让暂存区文件覆盖工作区间文件

11. git rm --cached 文件名 //在暂存区移除相应文件

12. git reset --hard 提交ID //恢复到指定版本

13. git branch //查看分支

14. git branch develop //创建分支

15. git checkout 分支名 //切换分支

16. git merge //合并分支

17. git branch -d 分支名称 //删除分支

18. git clone 地址 //克隆远程仓库

19. git push 地址 分支名 //往服务器推送

20. git pull 地址 //将服务器代码拉取到本地

21. git remote add 名称 地址 //给地址取别名

22. git push -u origin master //-u的参数让git记录信息,下次只需要 git push 就能进行提交

23. ssh-keygen //生成一对密钥

你可能感兴趣的:(git,github)