git 命令
1. Git安装
安装 Git for windows
https://git-scm.com/download/win
启动:所有程序 / Git / Git bash
运行 git --version 显示版本号即安装成功
2. 常用命令
查看帮助
git --help
查看版本
git --version
查看配置
git config --list
设置初始化名字和邮箱配置
git config --global user.name "liang.***"
git config --global user.email "liang.***@qq.com"
初始化本地 Git 仓库
1. cd 到新建的目录运行
2. 有 2 种方式来初始化代码仓库
创建本地仓库: git init
克隆远程仓库: git clone https://****/****/****.git
放弃未 push 的 commit
git reset --hard (--soft)hard 会重置所有,soft 保留暂存区及未追踪区域
--hard 十分危险,会抛弃掉工作区的修改和上次提交的内容,建议使用 --soft,先把工作区内容备份,用 --soft 恢复,修改只有再提交
若不小心 --hard 删除了,采用 reflog 命令恢复
$ git reflog
940f339 (HEAD -> dev_plug_in_unit, origin/dev_plug_in_unit) HEAD@{0}: reset: moving to HEAD~1
315cfe2 HEAD@{1}: reset: moving to HEAD
315cfe2 HEAD@{2}: reset: moving to HEAD
315cfe2 HEAD@{3}: reset: moving to HEAD
315cfe2 HEAD@{4}: reset: moving to HEAD
315cfe2 HEAD@{5}: commit: 插件接口及基础类实现,包含加载器,管理器,插件配置读取方法等
找到有效的 commit,如上所示 第 {5} 步,执行 $ git reset --hard 315cfe2 即可恢复到这次提交后的位置
删除所有未追踪的文件和文件夹:
先查看哪些文件会被删除:
git clean -nxfd
再执行删除:
git clean -xfd
查看当前分支 git branch
查看全部分支 git branch -a
创建新分支 git checkout -b offline
创建新分支并从远程拉取 git checkout -b 本地分支名 origin/远程分支名
切换分支 git checkout offline
删除分支 git branch -d offline
删除远程仓库分支 git push '仓库名' --delete '分支名' eg. git push origin --delete offline
有时候远程分支已经修改,本地刷新:git remote update origin --prune
新建分支步骤如下:
1. 先在本地建立分支
git checkout -b offline
2. 把本地分支推送给远程同名分支(自动创建)
git push origin offline:offline
3. 推送代码到新分支
git push --set-upstream origin offline
save password
git config --global credential.helper store
GitHub 采用 SSH 方式
1. 测试当前 ssh 能否连接
ssh -T git@github.com
2. 成本机 rsa 私钥
ssh-keygen -t rsa -C "wild-coffee"
一路回车,会生成目录 C:\Users\Liang.chenglong\.ssh
3. 添加 id_rsa.pub 内容到 GitHub/User/Setting/SSH And GPG : SSH Keys 中
4. 如果之前采用 HTTPS 则需要切换为 SSH,步骤如下
4.1 删除当前 HTTPS
git remote rm origin
4.2 添加 SSH 远程服务器
git remote add origin git@github.com:xxx/yyy.git
4.3 把本地分支关联到远程分支上
git push --set-upstream origin master
Git 推送多个远程主机
1. 添加新的远程主机
git remote add xxxx git@github.com:xxx/yyy.git
2. 指定代码要推送的远程主机
git push xxxx
Git bash 中文文件名乱码,比如:
new file: "\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt"
需要设置:
git config --global core.quotepath false
即可。
最好同时设置 UTF-8 编码:
git config --global gui.encoding utf-8
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8
Git 获取指定版本
git checkout b0362a895d39061c0bc6f05c575af47de1b3f702 git checkout b0362a895d39061c0bc6f05c575af47de1b3f702 system/models/a.cs
Git 指向最新版本
git checkout master
git stash
git stash list :查看当前所有的暂存存放
git stash show : 暂存修改文件列表
git stash show -p : 暂存修改内容
git stash : 暂存当前修改
git stash pop : 恢复最近的一次暂存,并删除该暂存
git stash aply : 恢复最近的一次暂存,不删除
git stash aply stash@{0} : 恢复为指定序号的暂存,不删除
git stash drop stash@{0} : 删除指定序号的暂存
git 查看提交内容
git log -5 --stat : 查看最近 5 次提交每次提交的文件变化情况
git show commit : 查看 {commit} 的提交中的所有修改明细
git show commit filename : 查看 {commit} 的提交中,{filename} 的修改明细
git diff
git diff filename 查看工作区和暂存目录之间的差异(若没有暂存,则和代码库比较)
git diff --staged filename 查看暂存区和代码库之间的差异
git 删除 master 分支所有 commit,截断仓库
1.Checkout git checkout --orphan latest_branch 2. Add all the files git add -A 3. Commit the changes git commit -am "commit message" 4. Delete the branch git branch -D master 5.Rename the current branch to master git branch -m master 6.Finally, force update your repository git push -f origin master
浙公网安备 33010602011771号