Git入门学习

参考文章:https://www.liaoxuefeng.com/wiki/896043488029600

一、Windows上安装Git

从官网直接下载安装
https://git-scm.com/downloads
安装完成后打开Git Bash,类似于命令行的窗口。
然后配置身份

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

注:git config命令的–global参数表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

二、Git基本命令

创建文件夹myDemo,打开Git Bash,定位到myDemo目录下。

  1. 初始化一个Git仓库,使用git init命令。
  2. 添加文件到Git仓库,分两步:
    使用命令git add <file>,注意,可反复多次使用,添加多个文件;
    使用命令git commit -m <message>,完成。
  3. 要随时掌握工作区的状态,使用git status命令。
    如果git status告诉你有文件被修改过,用git diff <file>可以查看修改内容。
  4. HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
    返回上一个版本git reset --hard HEAD^
    返回上上一个版本就是git reset --hard HEAD^^
    返回上100个版本可以写成git reset --hard HEAD~100
    穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
    要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
  5. git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别
  6. 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- <file>
    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
  7. 工作区间文件删除后,从版本库中删除该文件,就用命令git rm <file>删掉。

三、分支管理

查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>或者git switch <name>
创建+切换分支:git checkout -b <name>或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
查看分支合并图git log --graph
合并某分支到当前分支,并会创建新的commit,-m参数为“merge with no-ff”:
$ git merge --no-ff -m "merge with no-ff" dev

四、远程仓库

远程仓库可用Github或者Gitee。

1、配置Github

以Github为例,为了方面与Github数据的传输,不用每次输入密码,进行如下设置

  1. 打开Git Bash,创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"

一路回车,在用户主目录里找到.ssh目录,里面生成了id_rsaid_rsa.pub两个文件,打开id_rsa.pub复制内容。
打开Github–>Settings–>SSH and GPG keys–>New SSH key出现界面:
在这里插入图片描述
Title随便写,将复制的内容黏贴上去–>Add SSH key。ok

2、将本地仓库添加远程库

场景:在本地创建了一个Git仓库commit后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步。
(1)登陆GitHub,然后,在右上角找到“new repository”按钮,创建一个新的仓库, 在Repository name填入myDemo,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库。
(2) 首先,将本地的myDemo仓库关联到Github上,在本仓库下运行命令:

$ git remote add origin git@github.com:xxxxxx/myDemo.git

xxxxxx替换成你自己的GitHub账户名
下一步,把本地库的所有内容推送到远程库上:
哪个能推送成功就用哪个吧,我也不明白

$ git push -u origin master #把当前分支master推送到远程
或
$ git push origin master -f #本地没readme
或
$ git push origin master --force #强制推送

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。如:

$ git push origin master

:当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告

3、从远程库克隆

  1. 在Github上创建或使用现有的一个远程库。
  2. 用命令git clone克隆一个本地库:
$ git clone git@github.com:xxxxxx/gitskills.git

强制推送
场景:回退到某个版本修改后,想舍弃以前修改的内容,将现在修改后的内容推送到远程。不能pull了,使用git push --force强制推送。

.gitignore文件不生效

git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push -u origin master
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值