今天来说一下关于github命令行相关知识。呵呵,其实github都没太明白就把git bash摆上来当道菜。看来,我有当程序员的天赋,让我再装一会。html
前提:你已经在github上已经注册了帐号。git
特别注意: 括号内均为提示信息程序员
一、经常使用命令行工具:github
①cmd ②powershell ③git bashweb
二、命令行经常使用命令(在git bash上生效,部分在cmd无用)面试
-pwd (print working directory) 查看当前所在路径--绝对路径shell
-cd(change directory) 切换目标bash
-ls(list) 查看当前目录下的内容less
-mkdir(make directory) 建立目录ssh
-touch 建立文件
-cat 查看文件内容(一次性将内容所有显示)
-less 查看文件内容(显示部分信息)--再次输入‘回车’一行一行显示,‘空格’一页一页显示 ,‘b’一次向上走一页
-rm(remove) 删除文件,-rm -rf 文件夹(循环递进删除文件夹)
-rmdir(remove directory)删除文件夹(只能删除空文件夹,不经常使用)
-clear 清屏
-q 退出
-mv(move) 移动文件或重命名
-cp(copy) 复制文件
-echo ‘内容’ > 文件名 (输出内容到文件中,每次输入都是覆盖原来的文件)
-echo ‘内容’ >>文件名(输出内容到文件中,每次输入都是追加新内容)
三、Git介绍
Git版本管理工具,有三大区域:
① 工做目录-----存放项目代码的目录
②暂存区-----存放工做中更改的文件,避免项目代码丢失。
③代码仓库-----当开发功能足够成为一个版本时,提交到仓库。其实就是将暂存区中代码复制一份存储到代码仓库中。
Git经常使用命令
① 配置git用户名和密码
git config --global user.name sun
git config --global user.email sun@qq.com
② 查看当前git的配置
git config --list
③ 初始化git 仓库
git init
④ 查看当前仓库的状态
git status
⑤ 将工做目录中的文件添加到暂存区
git add sun.html(这个命令上传一个文件) git add .(这个命令会将当前目标下全部文件上传) git add a.txt b.txt (若是上传多个,文件名之间用空格)
题外话: 若是当前文件夹内文件不少,可是有些又不想提交。能够经过编辑器(sublime,webstorm等)或命令行建立一个文件 以.gitignore后缀,其内容写入不想提交的文件名便可。此时再经过git add .命令去所有提交时就会有选择提交。
⑥ 将暂存区中的代码提交到本地仓库,造成一个版本
git commit -m 备注(若是备注内容带空格,则须要加‘’)
⑦ 查看本地仓库中的历史提交版本
git log
⑧ 将暂存区中文件删除
git rm --cached 文件名
注意: 一、必须保证工做目录中代码和暂存区中代码一致。 二、删除以后,工做目录中仍然有此文件而暂存区没有。git不将管理该文件。
⑨ 用暂存区中的文件覆盖工做目录中的文件
git checkout -- 文件名
注意: 暂存区和工做目录中均有此文件,该文件依然被git管理
⑩ 回滚到本地仓库中特定版本并覆盖暂存区和工做目录
git reset --hard commitID(commitID能够到git log中查看提交编号),有种方式:一、所有黏贴 二、只取前6位
注意: 若是有版本1,版本2(后提交),当回滚到版本1时版本2会被自动删除。
图示:
分支相关命令:
① 查看分支
git branch (显示结果中 有* 表明当前所在分支)
② 建立分支
git branch 分支名称
③ 切换分支
git checkout 分支名称
④ 建立并切换分支
git checkout -b 分支名称
⑤ 删除分支 (若是分支没有被合并不容许删除)
git branch -d 分支名称
⑥ 删除分支(强制删除分支)
git branch -D 分支名称
⑦ 合并分支
git merge 来源分支(意思:当前目录到主分支,未来源分支合并到主分支上。合并后来源分支仍然存在)
四、github 相关命令介绍
4.1 模拟一个公共代码仓库
①先初始化 git init --bare sun.git (注意:此时公共代码仓库的文件夹必须以.git为后缀名)
4.2 github仓库
① 为远程仓库地址建立别名
git remote add origin https://github.com/sun766/Programming-art.git(此处举例)
注意: 一般咱们会把远程仓库地址设置别名为origin
② 查看远程地址的详细信息
git remote -v
③ 查看当前别名所对应的远程仓库地址
git remote show origin
④ 从远程仓库获取代码(拉取全部版本到本地)
git clone origin
注意: 加入到已有项目的开发中,须要先拉取全部版本到本地再进行开发。
⑤ 从远程仓库拉取代码(拉取最新版本到本地,开发过程当中使用)
git pull origin master
面试题: 说出clone 和 pull 之间区别
⑥向远程仓库推送代码
git push origin(远程仓库地址) master(本地分支名称):master(远程分支名称)
注意: 推送时必定要在本地代码仓库目录中,若是本地分支同远程分支名称同样,能够只写一个。
⑦ 删除当前别名所对应的远程仓库地址
git remote remove origin
记住: 若是你想从新使用origin 别名,则须要将原来的origin 对应远程地址删除掉。
‘’多人协做开发免登陆设置”
当不想使用帐户和密码进行推送代码时,建议使用SSH协议。
在git bash 中输入ssh-keygen, 自动会在c:/用户/administrator/中生成.ssh文件。其包括三个文件
① id_rsa ② id_rsa.pub ③ known_hosts
在github帐号中settings/SSH and GPG keys,点击New SSH key将②中内容复制粘贴。
注意: 设置别名时用SSH路径。