Git---学习笔记

可能不从事计算机的工作,但是毕竟学习了,记下来,就当备份吧!

Git本地库初始化

对应文件夹右键,选中Git Bash Here ,进入命令窗口 输入:git init,该文件下就会生成.git目录

设置签名

项目级别/仓库级别(仅在当前本地库范围有效)


git config user.name   --global  //global是系统级别
git config user.email  --global 

级别 1. 就近原则,项目优先级先于系统用户优先级,二者都有时采用项目级别的签名 2. 如果只有系统用户级别的签名,就以系统用户级别的签名为准。 3. 二者都没有是不允许的。

查看小命令

vim编辑器的使用

vim <文件> 使用vim编辑器打开文件 i插入,Esc退出文档区域,:wq退出vim编辑器

修改-提交

查看历史版本信息

git log (全显)控制办法:空格向下翻页,b向上翻页,q退出 git log--pretty=oneline(只显示一行) git log --oneline git reflog

版本的控制-前进后退

先输入git reflog查看版本信息 1. git reset --hard<哈希值、索引值> 2.使用^符号(只能后退)
git reset --hard HEAD^一个^代表后退一步,n个^代表后退n步。 3. 使用~符号
git reset --hard HEAD~3后退3步

删除、找回

删除:rm <文件> 找回:版本的控制-前进后退

比较文件改动差异

git status git diff <文件>

分支的具体操作

git branch -v查看分支 git brach <分支名>创建分支 git checkout <分支名> 切换分支

分支合并

合并分支,切换到接受合并的分支上,执行git merge <有新内容的分支> 合并冲突解决方案 1. 编辑文件,删除特殊符号。 2. 把文件修改到满意的程度,保存退出。 3. git add <文件> 4. git commit -m "版本信息"

基于github的库推送

地址简化

git remote -v查看地址 git remote add [名称] [地址https] 推送:git push [名称] [分支]

克隆到本地

git clone [地址https],这个动作包含: * 代码下载 * 创建远程地址别名 * 初始化本地库

拉取

pull = fetch + merge
fetch(拉):git fetch [远程库地址别名] [远程库分支名]
merge(取/合并):合并 解决冲突:如果不是基于远程端最新版本所做的修改,是不能修改,必须先拉取。
拉取下来后,如果进入冲突状态,则按照“分支冲突”操作即可。

三、免密登陆

只能对应一个用户

  1. 进入当前用户的系统目录 cd ~
  2. 删除.ssh目录
    rm -r .ssh (相关:2
  3. 运行命令生成.ssh密钥目录
    ssh -keygen -t rsa -C [your email]
  4. 进入.ssh目录查看文件列表
    cd .ssh
    ls-LF
  5. 查看id-rsa-pub文件内容
    cat id_rsa_pub
  6. 复制id_rsa_pub文件内容,登陆GitHub,点击用户头像,点Settigs->SSH and GPG keys->new SSH keys
  7. 输入复制的密钥信息。
  8. 回到工作区,新建SSH别名。
    git remote add [别名] [SSH地址]