git笔记

git常用小结

配置

获取配置信息

git config --system --list
git config --local --list

git config
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

github配置ssh

  1. 本地生成ssh密钥对
    ssh-keygen -t rsa
  2. 密钥对生成完成后存放于当前用户 ~/.ssh 目录中,查看 id_rsa.pub
    cat ~/.ssh/id_rsa.pub
  3. 添加入github的setting中

常用命令

git diff --cached  # 查看已经暂存起来的文件和上次提交时的快照之间的差异
git diff --staged  # Git 1.6.1及更高版本,效果同上

git commit -a -m 'comment'  # 自动把所有已经跟踪过的文件暂存起来一并提交
git commit --amend  # 撤销操作重新提交
    # 只生成一个commit
    git commit -m 'initial commit'
    git add forgotten_file
    git commit --amend

git rm --cached filename  # 移除跟踪但不删除文件

git log 
    --pretty=oneline  # 每个提交放在一行显示, 其他:short,full 和 fuller
    --pretty=format:"%h %s"  # 更加简洁的信息 
    --graph  # oneline 或 format 时结合 --graph 选项
    - p  # 显示每次提交的内容差异
    - 2  # 显示最近的两次更新
git log --graph --pretty=oneline  # 常用查看log

git reset HEAD <file>  # 已经add, 把暂存区的修改撤销掉
git checkout -- <file>  # 还未add, 撤销工作区的修改

# git log 查看版本号,再版本回退,若想再次恢复到新版本,git reflog 查看版本号
git reset --hard [commit id]  

git checkout branchname  # 切换分支
git checkout -b brachname  # 创建并切换分支
git branch -d branchname  # 删除分支
# 强制禁用Fast forward模式,Git就会在merge时生成一个新的commit
git merge --no-ff -m 'comment' branch  

git stash  # bug 分支
    1. 在当前分支git stash,工作区恢复到最近一次commit
    2. 处理完其他分支问题
    3. 在当前分支git stash list查看stash内容
    4. git stash pop,恢复并删除stash

git remote -v  # 查看远程库分支
git push origin master/dev  # 推送分支
git checkout -b dev origin/dev  # 创建远程origin的dev分支到本地,需先创建本地dev分支
git pull  # 拉取远程到本地,遇到推送有冲突的时候,先 git pull,本地解决冲突,再push

git remote add origin git@github.com:xxx/xxx.git  # 关联远程库