GIT命令使用大全
查看配置:git config -l
查看系统配置:git config --system –-list
查看当前用户(global)配置:git config --global --list
配置账号:
git config --global user.name “your name”
git config --global user.email “your_email@youremail.com”
配置SSH:
1.如果没有SSH Key,则需要先生成一下:ssh-keygen -t rsa -C “注册github的邮箱”
2.执行之后继续执行以下命令来获取SSH Key:cd ~/.ssh
3.复制公钥在github中设置
4.验证:ssh -T git@github.com //运行结果出现类似如下Hi ygsit! You’ve successfully authenticated, but GitHub does not provide shell access.
提交代码:
查看文件状态:git status
克隆:git clone url
git status 查看状态
git add . 添加到暂存区
git commit -m “提交内容描述” 提交代码
git pull origin 分支名 更新代码(当只有一个分支的时候可以直接git pull)
git push origin 分支名 提交到远程(当只有一个分支的时候可以直接git push)
$ git reset [file] 还原暂存区的文件,并保存修改
$ git reset --hard 还原暂存区的文件,并把原来修改的删除
git commit --amend 修改提交的描述内容(vim修改)
git commit --amend -m “新提交信息” 直接修改提交描述内容
git reset --soft head^1 还原提交的文件,并保存修改
git reset --hard head^1 还原提交的文件,并把原来修改的删除
git clone 和 git pull 区别:(clone拉取代码,pull更新代码)
git clone:从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,叫做clone.(是将整个工程复制下来所以,不需要本地是仓库(没有.git文件夹))
git pull:从远程服务器获取到一个branch分支的更新到本地,并更新本地库,叫做pull.(本地有代码会更新,没有需要先初始化本地文件夹文一个仓库(git init))
回退版本:
在一个分支中
git reset --soft head~1 回退并保存修改
git reset --hard head~1 回退不保存修改
1表示回退1个版本
2表示回退2个版本
回退到某个版本
git reset --soft 4e60fa983f23ff1ed5ec99f2c0cd4c4e4bf1e1d1(version code)
git reset --hard 4e60fa983f23ff1ed5ec99f2c0cd4c4e4bf1e1d1(version code)
分支命令:
查看所有本地分支:git branch
查看所有远程分支:git branch -r
查看所有本地分支和远程分支:git branch -a
创建分支:git branch 分支名 (复制当前分支到新创建的分支)
切换分支:git checkout 分支名
切换到上一个分支:git checkout -
创建并切换分支:git checkout -b 分支名 (相当于创建分支和切换分支的组合命令)
提交本地分支到远程仓库:git push origin 本地分支名
合并指定分支到当前分支:git merge 分支名
删除本地分支:git branch -d 本地分支名 (删除分支必须不在此分支下,删除本地分支后再切换到该删除的分支,会从远程拉取并自动创建本地分支)
删除远程分支:git push origin --delete 远程分支名
冲突:
别人在更新代码 push冲突时 先pull一下
git pull 出现vi编辑时 按esc 跳到命令模式shift+ :wq!(保存强制退出)
如过merge成功 git界面无异常 否者需要解决冲突
关联远程仓库:
git init
git add .
git commit -m “First commit”
git remote add origin 远程仓库路径(https://github.com/ygsit/test.git)
git push origin master或者git push -u origin master(加了-u,表示后面提交可以用git push代替git push origin master)