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和commitgit 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文件
config文件