首页 > 技术文章 > git 使用

xzqyun 2018-01-12 18:15 原文

简单记录了下, 以免忘记。。(没有创建密钥之后再记录)

首先你得有一个客户端,我这是Windows下的,然后点击git brash打开

之后就是命令框了

  • 查看当前你的路径
pwd  
  • 假如之后你切换到D盘下的test目录
cd /d/test  
  • 你可以查看当前目录下都有些什么
ls
  • 你得配置git   例如 名字 邮箱 这是必选
git config --global user.name "clsn"  #配置git使用用户
git config --global user.email "admin@znix.top"  #配置git使用邮箱
git config --global color.ui true  #语法高亮
git config --list # 查看全局配置

 *********************************》》》》》》》》》》》》》》》》》》》》》
插一步 git 公钥

有了上面的git config 配置后 

可以先查看 本地有没有秘钥

$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub

要是在.ssh目录下有两个文件:id_rsa(私有秘钥)和id_rsa.pub(公有密钥)就表示存在公钥

可以进入文件夹查看也可以使用命令查看 

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDF+QJCxSnXwS7Bwj6FwKG4zxM8UG1rSgnLGbPYxGeaAyq+zh2IhJCCB8N/CZmjJxzFH6LKaHv8foAXfs+iuTD4Jb1jYr/4d1I6eouMS5soqgLLMDchS4b8LnsIROsGj6jUjwxfYkUByWy72b/gpmJLpDvjjfNiXE79UbTC66I8a2hSYzkuJm5O+0aMYTuvsAR6s7jquPVAB26aukoi8gjb2BqklOEJOBsWLMXbm0+jwf5I30XvCPtNNQh8963Kiep7iq09vZDdCzKN3nkVf5zZYX2datOW50hfX62svJtul1fLJqi0kss3yeOOxmLJhilREDTrd9qNGbPXQw3k3efD xzqyun@outlook.com

要是没有上一步的两个文件,则可以使用

$ ssh-keygen -t rsa -C ‘git config 配置的邮箱’

一路三个回车,来生成秘钥。

 *********************************》》》》》》》》》》》》》》》》》》》》》

1..首先得 初始化一个git的工作空间

git init  

2..查看工作区状态

git status

3..添加文件内容至索引(就是要提交的)

git add .

  3..1 这里可以设置要忽略的文件 

    新建 '.gitignore'  文件

    在里面写入要忽略的文件 或者文件夹 (一行一个)

    例如

node_modules
dist

 

4..然后你想commit 到主分支(我理解这时候应该是添加到本地仓库了,或者是缓存)

git commit -m "描述"    //提交git仓库 -m 后面接上注释信息,内容关于本次提交的说明,方便自己或他人查看

  4..1渐便方法

git commit -a  -m "注释信息"  //-a 表示直接提交

5..把本地仓库的东西提交到远程仓库

git remote add origin git@github.com:yourname/仓库名.git 

6..进行一次提交

git push -u origin master 

  注意这个origin不一定是是这个单词,你喜欢就好,包括当面那个git remote add origin git@github.com:yourname/仓库名.git中的origin,
  相当于你给这个地址起了一个短点的好记的名字
  这个命令 是将主分支master提交到远程仓库
  当然这个带有-u这个参数是指,将master分支的所有内容都提交

  第一次关联之后后边你再提交就可以不用这个参数了

  之后你的每一次修改,你就可以只将你修改push就好了

  git push origin master

  *这时候有事会报错,我也看不懂英语,翻译后大概的意思就是 没有分分支,不能提交到master分支

  *我目前也不知道为啥,也不知道怎么去正确的解决,然后按照自己的想法给新建一个分支(git branch test)

  *然后切换分支 (git checkout test)   

  *查看新 分支(git branch)     带*号的 为当前分支

  *然后再次提交就能提交成功

7..删除git 内的文件

• 没有添加到暂存区的数据直接rm删除即可。

• 已经添加到暂存区数据:

git rm --cached database 

#→将文件从git暂存区域的追踪列表移除(并不会删除当前工作目录内的数据文件)

git rm -f database

#→将文件数据从git暂存区和工作目录一起删除

8..产查看历史记录

git log   #→查看提交历史记录

git log -2   #→查看最近几条记录

git log -p -1  #→-p显示每次提交的内容差异,例如仅查看最近一次差异

9..还原历史数据(就是回滚)

  Git服务程序中有一个叫做HEAD的版本指针,当用户申请还原数据时,其实就是将HEAD指针指向到某个特定的提交版本,但是因为Git是分布式版本控制系统,为了避免历史记录冲突,故使用了SHA-1计算出十六进制的哈希字串来区分每个提交版本,另外默认的HEAD版本指针会指向到最近的一次提交版本记录,而上一个提交版本会叫HEAD^,上上一个版本则会叫做HEAD^^,当然一般会用HEAD~5来表示往上数第五个提交版本。

 

git log   //查看历史   会出现一个列表  每一项里面有描述 日期 还有一大串字符串SHA-1值
git reset --hard 3de15d4 //找到历史还原点的SHA-1值后,就可以还原(值不写全,系统会自动匹配)

 

**  git 报错  **

问题描述:  git push 报 HTTP Basic: Access denied 错误
解决方案:
1. 如果账号密码有变动 用这个命令 git config –system –unset credential.helper 重新输入账号密码 应该就能解决了
2. 如果用了第一个命令 还不能解决问题那么 用这个命令:
git config –global http.emptyAuth true

 

 

目前先记录到这里,以后学到了再记录,有大神看到错误还请指出

推荐阅读