简简单单的一些常用命令
ssh
一般项目开发需要开发者在平台中配置自己的密钥
首先查看当前是否存在 密钥
1
cd ~/.ssh
若存在,执行下面命令打开对应文件复制即可
1
cat ~/.ssh/id_rsa.pub
若不存在,则执行下面命令生产即可
可以根据自己的需求,如果不设置密码就直接按回车
1
$ ssh-keygen -t rsa -C "git账号"
git init
初始化当前目录,即创建Git仓库
git config
git的基本配置
- git config –list 查看已经配置的git参数
- git config –global 当前用户(全局)下的配置
1
2
3// git 提交前必须要配置 用户名和邮箱,会记录到历史中
git config --global user.name 'lsq' // 配置全局git用户名 'lsq'
git config --global user.email 'xxx.qq.com' // 配置全局git邮箱 'xxx.qq.com'
git clone
克隆仓库(常用克隆远程仓库)
1 | git clone 'https://git.xxxx' |
git add
删除文件后需要 git add -A, 光 git add. 不行,区别如下:
- git add -A 保存所有的修改
- git add . 保存新的添加和修改,但是不包括删除
- git add -u 保存修改和删除,但是不包括新建文件。
所以默认使用git add -A就行
git commit
git commit -m”提交的描述”
该命令会将暂存区修改内容提交至本地仓库中,若文件未添加至暂存区,则提交时不会提交任何修改。
git commit -a
相当于运行 git add -u把所有当前目录下的文件加入缓存区域再运行git commit.
注意!对于新增的文件,并没有被commit, 一般使用方式如下git commit –a –m“本次提交描述”
- git commit –amend 修改提交或者叫追加提交
如果已经提交代码到服务器,但是发现有部分代码需要改动,又不想生成新的commit id 即可用这种方式,git add .后 执行 git commit –amend
git checkout
一般用来操作分支或者文件
git checkout
切换分支 如果当前本地分支存在,即切换到该分支,如果本地不存在对应分支,就去远程分支找,找到则切换
git checkout -b
创建分支并切换到该分支 相当于执行 git branch
, git checkout git checkout
文件回退 举个栗子:小程序开发中,每次编译都会更新一次packpross.json文件,对于推送代码时,不能将此文件推送到仓库,此时可以使用该方法
git add . 前 使用 git checkout packpross.json (工作区对应路径)
然后正常 git add . , git commit -m’’ (git pull …, git commit -m””) , git push …
git branch
分支类操作,包括创建分支,删除分支等
git branch
查看当前本地分支 list
git branch -a
查看所有分支包括远程分支与本地分支
git branch -d/-D
删除分支 -D 表示不管当前分支有么有merge
git branch -m oldBranchName newBranchName
重命名本地分支名
git push
该命令在于本地分支的更新以及推送到远程分支包括主机
git push <远程主机名> <本地分支名>:<远程分支名>
举个栗子: 当前本地分支名为 dbg_test 推送到远程分支 dbg_dev 代码如下:
git push origin dbg_test:dbg_devgit push origin <本地分支名>
此命令默认将本地分支名作为远程分支名推送,如,当前本地分支test git push origin test:test
git push origin HEAD
同上面操作,将本地分支作为远程分支,并推送代码到远程分支
git push origin HEAD:master
将当前分支推送到远程分支, 这种操作不用考虑当前本地分支的名字
git push origin :test
此命令会删除远程分支test
git pull
作用是要是从远程主机某个分支的内容更新到本地的某个分支
- git pull <主机名><远程分支名>:<本地分支名>
git stash
将当前分支的修改形成一个缓存栈都保存起来,可以后续继续开发
听起来有点类似commit ,但是它不会生成commit id,
更适合于多需求开发或者push时只允许存在一个commit id 时
git stash
默认将当前的分支文件的修改(不包括新建)保存起来
git stash -a
在git stash 基础上增加新建或者删除文件的保存
git stash save “描述”
对当前保存添加描述
git stash list
查看当前存在的stash list
git stash apply stash@{index}
取出第index个保存记录,不删除对应stash
git stash pop stash@{index}
取出第index, stash,并删除该stash
git reset
主要用于回退版本
git reset HEAD^
回退版本,一个^表示一个版本,可以多个,另外也可以使用 git reset HEAD~n这种形式。
git reset commit-id
指定commit id 回退版本
git reset HEAD
回退文件
git revert
撤销一个提交的同时会创建一个新的提交,也就是用一个新提交来消除一个历史提交所做的任何修改.
案例如:多人协作项目中,如果其中一个人的代码合入后出现问题,需要剔除对应代码
git revert commit-id revert
剔除指定commit id 的代码提交
git revert –abort
终止此次revert操作(有可能会有代码冲突)
git merge
合并分支的作用, 例如一个开发的习惯,一个分支对应一个需求
本地开发分支dbg_test
每天早晨先pull最新主分支代码,再合并到开发分支,继续开发
1 | git checkout master |