Git 的每个分支的管理类似于 链表 ,每次提交都会产生一个SHA1的唯一标识符。此唯一标识符是引用的指针。后续的增删改查操作都可以基于这个指针进行索引操作。
(1)查看用户名与密码配置
vim ~/.gitconfig
- git config user.name
- git config user.email
(2)下载github分支上的代码
(3)查看所有分支
git branch
(4)切换分支
git checkout 分支名
(5)强行切换分支
git checkout -f 分支名
(6)查看当前仓库的所有配置
git config --list
(7)对git命令进行别名配置
git config --global alias.st status
对git status进行配置,可使用git st进行别名使用
(8)git commit
git cmmit必须写提交信息 git commit -m ' do what '
(9)创建一个本地仓库并拉去推送项目的步骤
- git init
- git add .
- git commit -m ' info '
- git remote add origin 仓库地址
-
git push -u origin master
(10)回退提交到本地的代码到未提交状态
git reset --soft origin/master
如果提交远程失败会提交到本地,再push一下就可以了
(11)克隆跟提交时
需要先PING一下对应的网址 如: gitee.com 去找到ip地址
然后去 hosts文件里面添加相应的地址映射
(12)当stash pop解决冲突时,如果采用自己的作为标准,然后再去更新?
(13)stash pop失败时就git reset --hard
(14)查看当前的仓库源
npm config get registry
设置仓库源回npm
npm config set registry http://registry.npmjs.org
(15)
暂存本地修改后,拉取远程更新后,再弹出暂存时,可能会发生错误,把有错误的文件可以先删除再stash pop
(16)回退到上一个提交的版本
git reset --hard HEAD^
还可以根据哈希id来进行回退
(17)记录你的每一次命令
git reflog
(18)
没有放入暂存区的修改不会被提交
(19)
丢弃在工作区的修改
git checkout -- fileName
使用 git reset HEAD fileName 命令将暂存区的文件回退到工作区
(20)删除文件
git rm fileName
(21)分支管理
(22)rebase
- rebase操作可以把本地未push的分叉提交历史整理成直线;
- rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比
(23)
git add === git stage
git commit --amend
(24)
(25)删除远程分支
- git push origin --delete [ branchName ]
- git branch -dr [branchName]
将本地创建的分支推送到远程仓库 git push --set-upstream origin dev
(26)选择一个commit,合并进当前分支
- git cherry-pick [ commit ]
(27)HEAD
git checkout命令可以在版本之间随意切换,它的本质是移动HEAD指针。
形象的讲,HEAD就是景区地图上标注你当前在哪里的一个图标。
你当前在哪里,HEAD就在哪里。它一般指向某个分支,因为一般我们都会在某个分支之上。
因为HEAD是用来标注当前位置的,所以一旦HEAD的位置被改变,工作目录就会切换到HEAD指向的分支。
(28)revert 对冲
revert 的作用就是生成一个新的、完全相反的commit。
(29)贮藏
- git stash
- git stash list
- git stash drop
- git stash apply 不会将贮藏列表删除
- git stash pop
(30)展示任意分支某一文件的内容
- git show <branch-name>:<file-name>