Github的使用手册

Git命令行操作

本地库的操作

一、本地库的初始化(创建本地库)

  1. 在创建好的文件夹目录下执行 git init命令,系统自动生成.git文件夹

  2. 设置签名,有项目级别和系统级别的签名(作用:起到表示开发者信息的作用,与github账号没有关系)

    签名形式:user.name user.email

    设置项目级别的签名:当前本地库有效,保存在.git/config

    git config user.name [用户名]
    git config user.email [邮箱]

    设置系统级别的签名:当前登陆操作系统的用户范围有效保存在系统的家目录~/gitconfig中(通常只要设置系统级别的就够了)

    git config --global user.name [用户名]
    git config --global user.email [邮箱]
    原则:就近原则,优先使用项目级别

基本操作命令

添加、提交、查看状态

  • git status

作用:查看工作区和暂存区的状态

提示:

On branch master(在master分支/主干)

No commits yet(本地库没有东西可提交)

Nothing to commit(暂存区没什么东西)

  • git add

作用:添加到暂存区

  • git rm --cached <file>

作用:从暂存区中移除

  • git commit <file>

作用:提交暂存区到本地库(需要输入信息,记录本次提交干什么事)

  • git checkout -- <file>

  • git commit –a

  • git reset HEAD <file>

  • git commit -m "commit message" <file>

作用:-m “书写添加信息”

查看日志

  • git log

作用:操作日志的显示

  • git log --pretty=oneline

作用:操作日志的简洁显示

  • git log –oneline

作用:操作日志的更加简洁显示

  • git reflog(常用)

作用:操作日志的带指针更加简洁显示

版本的前进与后退

本质是head索引的变化

  • 基于索引值的方式

前进/后退:git reset –hard [索引值]

  • 后退一步

it reset –hard HEAD^

  • 后退n步

git reset –hard HEAD~n

文件的删除和找回

前提:已经commit到本地库中

还是通过git reset –hard命令回到某个版本

Hard参数会刷新工作区和暂存区

比较文件

  • git diff [文件名]

  • git diff [版本号][文件名]

分支操作

  • git branch –v

    查看分支

  • git branch [new branch name]

    创建新的分支

  • git checkout [branch name]

    切换分支

  • 合并分支

    step1: 切换到被合并的分支上

    step2: 合并分支

    git merge [需要合并的新的分支]

冲突的解决

问题原因:两个分支都修改了相同的文件提交到本地库,git不知道听谁的

  • 1:合并分支

    git merge [分支名]

  • 2:修改合并后产生冲突的文件

    vim

  • 3:git add [文件名]

  • 4:git commit –m “日志”

    不需要带文件名

创建远程github的别名

git remote add origin [github的http的url]

git remote –v

fetch(取回)

push(推送)

github的仓库中推送

git push origin master

分别是别名+分支

从远程库clone到本地

git clone [url]

完整的把远程库下载到本地

创建origin别名

初始化本地库

从远程库拉取

Pull=fetch+merge

法1:

Git pull [远程地址的别名] [远程地址的分支名]

法2:

Git fetch [远程地址的别名] [远程地址的分支名](不需要登陆,把远程库的内容抓取到本地,本不会合并到本地库)

Git merge [远程地址的别名/远程地址的分支名](合并远程库)

跨团队协作

Fork到远程库

Pull request到本地仓库

----\(˙<>˙)/----赞赏一下吧~