一、设置指令
1.设置(全局)用户名和邮箱:
$ git config (--global) user.name yourName
$ git config (--global) user.email yourEmail
设置(全局)仓库地址:
$ git config (--global) remote.origin.url yourUrl
删除全局设置:
$ git config --global --unset remote.origin.url yourUrl
2.查看所有的配置信息:
$ git config --list
3.配置缩写(列举常用的):
$ git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
二、基础指令
git help 查看git的所有命令
git init 初始化一个git仓库
git clone 克隆一个项目
git status 查看当前分支状态
gitk 视图形式查看分支情况
git log 查看提交历史
三、拉取指令
git fetch 从远程获取最新版本到本地
git pull 拉取远程分支并与本地合并
四、提交指令
git add 把修改内容放入暂存区
git commit (-m '备注说明') 提交暂存区内容(添加备注说明)
git push 把本地提交推到远程git仓库
git commit -amend '备注说明' 修改提交信息
五、分支操作指令
git merge 合并两条分支
git rebase 把某条分支的修改合并到当前分支
git cherry-pick 把其他分支上已经提交的代码,拷贝到当前分支
git branch (-a) 查看本地分支/远程分支
git checkout 切换分支
git checkout -b
git branch -D
git push origin --delete
六、取消类指令
git reset HEAD
git checkout --
git revert
git reset --hard
七、特殊用法
1.git pull 和 git pull --rebase 的区别:
git pull = git fetch + git merge
git pull --rebase = git fetch + git rebase
2.撤销git reset --hard的错误操作
git reflog 查询在HEAD上所有的修改
git reset --hard <对应的对HEAD的操作id>
3.把多条commit合并到一条
git rebase -i origin/master(某个远程节点)
编辑想要合并的提交,点击i进行编辑,把其他提交合并到一种一条上,保留的提交未pick其他未square。
修改完后点击esc退出,点击:wq保存修改。
八、git ssh
当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码。这时需要git客户端生成ssh key,然后配置在gitlab,才可以使用ssh协议进行提交和拉取git远程仓库的代码。
1、打开git bash或者cmd。
2、使用cd ~/.ssh可以查看是否已配置SSH。如果已经配置过去对应位置直接使用即可
3、没有配置,则使用如下命令生成ssh公钥和私钥对
$ ssh-keygen -t rsa -C '[email protected]'
然后一路回车(-C 参数是你的邮箱地址),为什么一路回车,是因为有提示你是否需要设置密码,如果设置了每次使用Git都会用到密码,一般都是直接不写为空,直接回车就好了。会在一个文件夹里面生成一个私钥 id_rsa和一个公钥id_rsa.pub。
4、然后打开~/.ssh/id_rsa.pub文件(~表示用户目录,比如我的windows就是C:\Users\Administrator),复制其中的内容
5、打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮
6、到此就完成了gitlab配置ssh key的所有步骤,我们就可以愉快的使用ssh协议进行代码的拉取以及提交等操作了
九、补充
1.安装cnpm
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
2.设置/查看npm/cnpm源地址
$ npm/cnpm config set/get registry
3.查看npm所以信息
$ npm config list