Git&Github 备忘录

设计思路

  • 工作区(Working Directory)、版本库(Repository)、暂存区(Stage or Index)
  • HEAD指针
    Git&Github 备忘录_第1张图片
    (来自廖雪峰的git教程)
  • branch,时间线
    Git&Github 备忘录_第2张图片
    (来自廖雪峰的git教程)

创建repository

(0.在目标文件夹打开GIT bash)
echo "# RepoName" >> README.md  #创建README.md
git init #初始化
git add README.md file1 file2 ... #添加至缓存区
git commit -m "init" #提交代码
git remote add GitURL #连接远程仓库
git push -u origin master #提交至远程仓库,-u:关联本地和远程库,关联后可不加

退出commit

esc + ZZ(大写)

文件操作相关

pwd #print working directory
ls #list files
ls -ah #list files including the hidden
cat filename#查看文件内容
rm filename#删除文件

查看、回退历史版本(branch->工作区)

git log#查看历史环境,英文状态下按q退出
git log --pretty=online
git reset --hard HEAD^ #版本回退,HEAD:当前版本(一个指针),^回退一个版本
git reset --hard HEAD^^
git reset --hard HEAD~100
git reset --hard commitID
git reflog #查看历史命令	

查看、撤销修改(stage->工作区)

git diff HEAD -- filename#查看工作区与当前版本的区别
git checkout -- filename#让文件会到上一次git add 或git commit 的状态,也可恢复文件
git reset HEAD filename#将工作区中某一文件变为指定版本暂存区的文件
git reset comID filename

删除文件

rm filename #删除工作区文件
git rm filename #删除暂存区指定文件
git rm --cached #移除缓存
git checkout -- filename #恢复删除文件

远程仓库

git remote #查看远程仓库
git remote -v #查看详细信息
git remote add origin [email protected]:username/reponame.git #关联远程仓库,远程库的名字是origin
git remote add gitURL
git push [-u] origin master #推送至远程仓库
git clone [email protected]:username/reponame.git
git clone gitURL
git checkout -b localname oringin/dev #在本地创建和远程仓库非master分支一样的分支
git pull <remote> <branch>#合并远程仓库的分支
git branch #--set-upstream  

分支

git branch bname#创建分支
git checkout bname#切换分支
git checkout -b bname#创建并切换分支
git branch #查看分支
git merge bname#合并到当前分支(fast-forward把master指向bname的修改处)
git merge --no-ff -m "merge with no-ff" bname#禁用fast-forward模式,会再历史记录中显示,常用来修复bug
git -d branch bname # 删除
git -D branch bname # 不合并删除
git log -- graph # 查看时间分支线
git push origin :branch_name # 删除github分支
git checkout -b localname origin/remotename # 从远程分支拉取代码并创建本地分支

config配置

git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%
d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
git config --global alias.cm commit
git config --global user.name "..."
git config --global user.email "..."
git config --global --list # 查看配置
git config --system --list
git config --local --list

分支管理模式

  • master
  • dev
  • issue
  • feature

骚操作

help

git anything --help

忽略某些文件

添加.gitignore文件

在README中加入脚注(页面跳转)

  1. 在底部定义脚注
<a name="name">labela>: Footnote content goes here
  1. 在文档其他位置
<sup>[label](#name)sup>

Github 镜像站

github.com.cnpmjs.org

储存用户名和密码

git config --global credential.helper store

提交 PR

  • 在GitHub中向开源框架提交PR的过程

你可能感兴趣的:(GIT,Github)