GitHub学习笔记

基本命令

指令

ls -a 查看当前目录下的所有文件

git init

# 初始化git仓库
# 出现后缀为 .git 子文件	
 理解:将当前文件夹变成git仓库是存放版本库,在当前目录下初始化创建一个子文件git(仓库),是隐藏文件夹,有git文件夹就说明当前文件目录是git的仓库

git status 查看项目文件状态

# git add index.html(指定文件) 		让文件处于被追踪状态,待提交状态。 (工作区 转到 暂存区)
# git add . 		选中全部未提交的文件

git commit 项目文件提交

# git commit -m ‘first comm(这里是描述)’  (暂存区 转到 版本库)
# git commit -am ‘first comm 直接跳过 git add 添加

#报错 please tell me who you are  	没有告诉计算机我们是谁
  #解决方法 告诉计算机我们是谁,(配置信息)指令:添加账户下面()

git config

添加账户
# git config --global user.name Hayden (自定义名称)
# git config --global user.email 2295209729@qq.com (邮箱)
# git config --list 查看git配置情况
# 成功后再执行 git commit -m ‘first comm(这里是描述)’指令
# git log 查看全部提交的信息

#git log --oneline 显示查看最近一次提交的信息

文件修改内容时 :1.当文件内容出现变化时会改变状态(未被追踪)
重新提交方法 1
#git add index.html(指定文件) 进入暂存区(注意:git add . 是选中全部未提交的文件)
#git commit -m ‘first comm(这里是描述) 提交到版本库

Git结构和状态

Git的三层结构

  1. #working directoy 工作区

  2. #staging index 暂存区

  3. #git directory(Repository) 版本库

Git文件的4种状态

  1. #untracked 未被追踪

  2. #Modified (已修改的)表示工作区修改了某个文件但是还没有添加到暂存区

  3. #Staged (暂存的)表示把工作区修改的文件添加到了暂存区,但是没有提交但是没有提交到版本库

  4. #Committed (已提交的)表示数据被安全的存储在本地库中

Git 撤销操作

  1. #gitcommit --amend 撤销上一次提交 并将暂存区的文件重新提交

  2. #git checkout – index.html(文件) 撤销(返回到修改前)工作区文件的修改

  3. git checkout – . (注意这里有个 干小点 )选中全部进行全部返回

    		##拉取暂存区的文件并将其替换工作区的文件
    		##注意与git checkout (文件)区别
    
  4. #git reset HEAD – index.html(文件) (暂存区文件的撤销)暂存区文件转到工作区,再git checkout – index.html(文件) 指令撤销

    ##拉最近一次提交的版本库中的这个文件index.html 放到暂存区,该操作不影响工作区
    ##其中  HEAD 是提交地址  默认指向最近一次的提交文件
    

Git 文件删除

  1. #git rm 文件

    ##删除工作区及暂存区中的修改文件相当于删除后文件后执行 git add
    
  2. #git rm --cached index.html(文件) 在不小心将不需要追踪的文件调到暂存区,要想删除暂存的文件不删除工作的文件很有用

  3. #git rm -f index.html(文件) 删除暂存区和工作区的文件

  4. #git mv index.html(被修改的文件) index1.html(新的文件名称) 工作区修改文件名

  5. git clean 删除没有被追踪的问价或文件夹的命令

    # git clean -f 		删除所有 为 追踪的文件
    # git clean -fd		删除所有 未 追踪的文件
    

Git 分支

i 创建、修改、删除、切换

	理解:分支之间的文件一样相同的,在修改文件时是互不影响的
  • #git branch 查看分支(默认分支为master)
  • #git branch dev 创建分支,分支名称为dev 例子
  • #git checkout dev 指定分支切换,如现在从master分支切换到dev分支
  • #git branch -d dev 删除分支(!注意:在指向当前分支时是不能删除的 当前分支的,要先指向非本分支(dev),才能删除,否则会报错)
  • #git branch -m dev fix 改分支名,将dev 改为 fix
  • #glob模式
  •  a: 星(*)匹配零个或多个任意字符
     b:[abc]匹配任何一个列在方括号中的字符
     c: 问好(?)只匹配一个任意字符
     d:[0-9],[a-z] 匹配范围
    

Ii 分支的合并

  • #git diff 比较
    a: git diff 比较工作区与暂存区文件的差异git diff 比较工作区与暂存区文件的差异
    b: git diff --staged 比较暂存区与版本库的文件差异
    c: git diff 版本号 版本号 比较分支内两个版本 的差异
    d: git diff 分支 分支 比较两个分支的最新提交版本的差异
  • git merge 分支 合并之前需要先切换到master分支

快速合并 和 合并冲突

存储变更

分支文件修改,要切换到别的分支,一:将修改后的文件提交到版本库,二:使用git stash将修改的工作区和暂存区文件 保存 起来,文件恢复到修改前的状态。

  • #git stash 保存当前操作
  • #git stash list 查看之前保存的 哪些文件
  • #git stash apply stash@{number} 返回之前保存文件的第 number 个,不会删除这保存的文件
  • #git stash pop stash@{number} 返回文件,然后会删除这个文件
  • #git stash drop stash@{number} 直接删除 第bumber文件,不返回

Git 远程仓库

托管项目

  • 在github 创建一个项目
  • 会有两种地址 HTTPS 和 SSH
  • SSH地址需要自己本地ssh公钥地址挂载到github库中去

A: ssh-keygen 在本地上创建有关SSH的公钥和秘钥,然后到github中设置公钥,暴露公钥

  1. #git push 地址 master 上传到远程仓库托管项目
  2. ##git pull 地址 master 将地址上的项目下下来,有两种地址:默认https 是可以直接使用的,SSH得上传账户有的提供公钥才能用

https例子:git pull https://github.com/zhendeshi/name.git master
ssh 例子 :git pull git@github.com:zhendeshi/name.git master

git远程仓库管理

  • 方法1:(直接通过地址上传)

#git push 地址 本地修改上传到git远程仓库中

  • 方法2:(将地址保存到一个变量,就可以用更简单的命令)
    A: git remote add github(名称) https或ssh地址 给地址取名,以方便简写
    a: 例子:git push github master 这样就显得更方便
    B: git remote -v 查看添加的远程仓库
  • #git ssh-keygen 自动产生本地公钥

#git remote add github https://github.com/JarvisArt/Test.git 关联远程仓库

#git remote -v 查看关联的远程仓库的详情信息

#git push ssh://roo@182.61.20.102/var/git/project.git master 将本地内容上传到服务器

GIt help 文档介绍

  • #touch .Gitignore 创建.gitignore文件,将文件添加到此文件(.Gitignore)中会不被追踪
  • #git help 命令帮助手册
    例子: git help add 查看add命令的帮助手册,可以查看add的相关资料
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值