远端同步到本地
git clone <git远端仓库链接> "克隆一个远端仓库到本地,-b branch检出分支"
git pull origin <branch> "更新<branch>仓库的远端分支到本地"
分支操作
git checkout -b feature_x "创建一个叫做“feature_x”的分支,并切换过去"
git checkout branchname "切换到branchname分支"
git merge feature_x "把feature_x分支合并到当前分支"
git branch "查看本地分支"
git branch -a "查看所有分支,包括远端,其中remote/origin前缀的是远端分支"
git branch -d feature_x "只是把feature_x本地分支的这个指向(指针)删除了,并没有删除commit"
git branch -D feature_x "删除feature_x本地分支,无论是否有commit"
git push origin :<branch> "删除远端分支,注意在冒号前有空格,冒号后面是要删除的分支名"
本地同步到远端
git add <file-name> "添加文件到暂存区"
git rm <file-name> "删除暂存区的文件"
git status "查看本地仓库的状态变化"
git commit -m "代码提交信息"
git push origin <branch-name> "同步本地的branch-name分支到远端分支"
查看Git 日志
git log "查看所有历史版本信息"
git log -n "查看最近n个历史版本信息"
git log –p "看具体改动"
git log --stat "显示简要的增改行数统计,每次提交文件的变更统计"
git log --pretty=oneline "一行显示,只显示哈希值和提交说明"
git log --pretty=format:“ ” "控制显示的记录格式"
Git比较操作
git diff "工作区和暂存区比较"
git diff cached "比较暂存区和HEAD的文件差异"
git diff HEAD "工作区和HEAD的比较"
git diff ffd98b291e... b8e7b0... "查看某两个版本之间的差异"
git diff <source_branch> <target_branch> "查看分支间的差异"
git diff ffd98e0ca:filename b8e7b00c0:filename "查看某两个版本的某个文件之间的差异"
回滚操作
git checkout -- <filename> "放弃你在工作区中指定文件的修改"
git clean -df "放弃在工作区中添加的文件和目录(untracked files/dirs)"
git reset HEAD "将已经在暂存区的改动返回到工作目录中 (unstage)"
git reset --hard HEAD "将已经在暂存区的改动全部放弃,暂存区和工作区的内容被HEAD覆盖"
git commit --amend "上次提交的“补救模式,不会产生新commit"
git revert <commit-id> "回滚中间的某次commit, 会产生新commit,
适用于对远端历史的回滚(不会改变远端历史)"
git reset HEAD^ "回退所有内容到上一个版本,改动放到工作区"
git reset soft HEAD^ "回退所有内容到上一个版本,改动放到暂存区"
git reset hard HEAD^ "回退所有内容到上一个版本,改动部分删除"
git reset HEAD^ a.py "回退a.py这个文件的版本到上一个版本"