Git常用命令速查
1. 创建版本库
功能 | 语法 |
---|---|
初始化本地版本库 | git init [文件夹名] |
克隆远程版本库 | git clone [url] |
2. 拉取、推送、查看
分支常用命令 | 语法 |
---|---|
拉取远程代码到本地并进行合并 | git pull [origin] [分支名] |
推送代码到远程 | git push [origin] [分支名] (分支名省略时,表示提交到当前分支) |
强制推送代码到远程 | git push -f origin [分支名] (会将远程提交强制覆盖,慎用) |
查看远程地址 | git remote -v |
添加远程地址 | git remote add origin [url] |
修改远程地址 | git remote set-url origin [url] |
查看仓库的状态 | git status |
查看文件修改的内容 | git diff 文件名 |
查看提交日志 | git log q退出查看 |
查看提交日志(精简版) | git log --oneline |
查看.ssh所在文件夹 | ll -d ~/.ssh |
3. 添加、提交
分支常用命令 | 语法 |
---|---|
添加本地的某个新文件到本地仓库(缓存区) | git add 文件名 |
添加本地所有的新文件到本地仓库 | git add . |
提交代码到本地仓库 | git commit -m ‘提交信息’ |
同时add和commit | git commit -am ‘提交信息’ |
增补提交 | git commit -C head -a --amend 不会产生新的提交历史记录 |
增补提交 | git commit -am “提交信息” --amend 与上面的相比,会修改提交信息 |
4. 分支命令
分支常用命令 | 语法 |
---|---|
创建分支(基于当前分支) | git branch 分支名 |
查看本地分支 | git branch |
查看远程分支 | git branch -r |
查看本地和远程所有分支 | git branch -a |
切换分支 | git checkout 分支名 |
创建分支并切换到该分支 | git checkout -b 分支名 |
合并分支到当前所在分支 | git merge 分支名 |
删除本地分支 | git branch -d 分支名 如果分支没有被合并会删除失败 |
强制删除本地分支 | git branch -D 分支名 即使分支没有被合并也照删不误 |
删除远程分支 | git push origin --delete 分支名 |
重命名分支 | git branch -m 原分支名 新分支名 不会覆盖已存在的同名分支 |
重命名分支 | git branch -M 原分支名 新分支名 会覆盖已存在的同名分支 |
5. 撤销修改
分支常用命令 | 语法 |
---|---|
删除所有untracked的文件 | git clean -df 如果文件已经被tracked, 修改过的文件不会被回退 |
撤销尚未提交的所有文件的修改 | git checkout . |
把当前分支的代码全部回退到以前的一个版本 | git reset --hard [版本号] 不加版本号,即撤销当前版本的更改 |
6. 生成 SSH Key
ssh-keygen -t rsa -C "aliang.link@foxmail.com"
生成的SSH Key在 C:\Users\用户名\.ssh下
7. 设置忽略的文件
类型 | 方法 |
---|---|
设置每个人都想要忽略的文件 | 在根目录新建一个名为 .gitignore 的文本文件 |
设置只有自己需要忽略的文件 | 修改 .git/info/exclude 文件 |
8. 全局变量
设置本地git的全局变量
git config --global user.name "aliang"
git config --global user.email "aliang.link@foxmail.com"
9. 常见中文乱码问题
乱码类型 | 解决方法 |
---|---|
git log 命令中文乱码 | 永久解决方案-添加环境变量:变量名: LESSCHARSET变量值: utf-8 |
git log 命令中文乱码 | 临时解决方案(仅本次会话有效):windows执行 set LESSCHARSET=utf-8;linux执行 export LESSCHARSET=utf-8 |
bash 控制台 ls 命令中文文件名乱码 | 在 Git\etc\git-completion.bash 文件中追加一行 alias ls='ls --show-control-chars --color=auto' |
bash 控制台 git commit 无法输入中文注释 | 修改 Git\etc\inputrc文件 set output-meta on set convert-meta off |
gitk 显示中文注释乱码 | git config --global i18n.commitencoding utf-8 git config --global i18n.logoutputencoding utf-8 |
10. 合并多个commit提交记录
使用 git rebase -i [版本号] 命令,详细步骤 Git 如何合并多个commit提交记录
11. git push 远程断开
git push
或者 git clone
时,当文件过大时可能会返回以下错误
the remote end hung up unexpectedly
解决方法如下:
git config http.postBuffer 524288000 #配置推送文件最大大小
git config --global http.lowSpeedLimit 0 #配置最低速度
git config --global http.lowSpeedTime 999999 #配置最低速度超时时间
如果还未解决,可以修改一下远程地址试试,比如https换成git,或者git换成https
还不行的话,就只能FQ了。
12. git 修改远程仓库地址
12.1 命令直接修改
git remote set-url origin [url]
12.2 命令先删后加
git remote rm origin
git remote add origin [url]
12.3 直接修改config文件
直接修改项目根目录的.git文件下的config文件