1. git branch -a 查看当前项目的所有分支情况
2. git branch 查看当前的分支
3. git branch -m oldBranchName newBranchName 修改本地git分支名称
4. git checkout 切换分支
5. git checkout -b ***newbranchname*** 切换并创建一个新的分支
6. git add . 提交修改内容至缓存区
7. git commit -m ' ' 提交git修改内容的备注信息
8. git commit --amend 修改最后一次提交的commit 注释信息,按 i 键进入编辑模式
9. git push 推送git至远程仓库
10. git pull 拉取最新的内容至本地仓库
11. git status 查看当前git状态
12. git log . 打印git 的提交日志
13. git reset --soft HEAD^ 回退本地提交commit
14. git branch -vv 查看本地分支和远程仓库关联关系
15. git checkout --track origin/branch_name 如果远程新建了一个分支,本地没有该分支。可以利用 git checkout --track origin/branch_name ,这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name
16. git branch -d <branchname> 删除指定分支
17. git remote set-url origin url 修改新远程仓库
18. git remote rm origin 删除现有远程仓库
19. git remote add origin url 添加新远程仓库
20. git remote show origin 查看remote地址,远程分支,还有本地分支与之相对应关系等信息
21. git format-patch
git format-patch HEAD^ 打最近的一个commit
git format-patch HEAD^^ 打最近的第两个commit
报错处理,例如:"fatal: previous [rebase](https://so.csdn.net/so/search?q=rebase&spm=1001.2101.3001.7020) directory .git/rebase-apply still exists but mbox given."
一般来说之前执行git am失败过,需要执行git am --abort
生成001.patch 002.patch文件
git am 001.patch 打入一个patch文件
git am 002.patch打入第二个patch文件
**git patch解决冲突方法**
When you have resolved this problem run "git am --resolved".
If you would prefer to skip this patch, instead run "git am --skip".
To restore the original branch and stop patching run "git am --abort".
**这些错误,说明当前patch有冲突,不能合并,此时使用git apply --reject patch文件,强制把不冲突的文件先合并,有冲突的会生成.rej文件 ,在根据这个文件中的修改去手动执行即可 ,解决完冲突要把.rej文件删除,在执行git add . ==> git am --continue命令即可。**
22. 创建ssh Key命令: ssh-keygen -t rsa -c "xx@email.com"
/* 注释 -t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。*/
接着点击,enter,输入密码
接着点击,enter,确认密码
生成密钥
cd ~/.ssh 进入生成sshKey的文件夹
- id_rsa文件是私钥,要保存好,放在本地,私钥可以生产公钥,反之不行。
- id_rsa.pub文件是公钥,可以用于发送到其他服务器,或者git上
23. 配置git用户信息
git config –global user.name 'yourname'
git config –global user.email 'aaa@qq.com'
- 添加ssh, id_rsa.pub到gitlab的ssh-key中
- ssh -t git@gitee.com 检查添加到gitee上的ssh公钥是否已经生效
方法一:git reset
原理: git reset的作用是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本,如下图所示,假设我们要回退到版本一

适用场景: 如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。
git reset --hard commit 代码回滚 //本地回滚
如果此时已经提交至远程仓库,需要再使用 git push -f命令 //把HEAD指向旧的的版本,也就是回退的版本。
方法二:git revert
原理: git revert是用于“反做”某一个版本,以达到撤销该版本的修改的目的。比如,我们commit了三个版本(版本一、版本二、 版本三),突然发现版本二不行(如:有bug),想要撤销版本二,但又不想影响撤销版本三的提交,就可以用 git revert 命令来反做版本二,生成新的版本四,这个版本四里会保留版本三的东西,但撤销了版本二的东西。如下图所示:

适用场景: 如果我们想撤销之前的某一版本,但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。
26 往gitlab推代码。
git push [远程仓库名] [本地分支]:[远程分支]
For example: git push origin HEAD:master or git push
- git上传远程仓库代码,保留commit记录
(1) git remote add origin <https://gitlab.com/zzkj/website-air.git>
(2) git remote -v //查看是否连接到远程仓库
(3)git checkout -b newBranch
(4) git push origin wo_music;
28 git Tag. 命令
1,创建标签
git tag <tagName> //创建本地tag
2,删除标签
git tag --d show(删除本地tag)
git push origin -d <tagname> (删除远程tag)
3,推到远程服务器仓库
git push origin <tagName> //推送到远程仓库
4,查看Tag
git tag //产看所有的tag列表
git show tagName //查看细节
29 git迁移新的仓库,并保留Commit信息
迁移新仓库:
1,拉取某个旧仓库的地址到本地
git clone old-repository
2,进入到旧仓库的本地目录
cd old-repository
3,设置本地仓库新的远程仓库地址
git remote set-url origin [https://new-repository-address.git](https://new-repository-address.git/)
4,将本地代码push到新仓库地址,并且提交所有的commit信息
git push -u origin --all
5,将本地代码push到新仓库地址,并且提交所有的tags的信息
git push -u origin --tags
6,为本地分支创建一个远程分支
git push origin localBranchName:remoteBranchName
本地仓库上传到远程仓库:
1,设置本地仓库的远程仓库地址
git remote add origin [https://new-repository-address.git](https://new-repository-address.git/)
2,将本地代码push到新仓库地址,并且提交所有的commit信息
git push -u origin --all
3,将本地代码push到新仓库地址,并且提交所有的tags的信息
git push -u origin --tags
4,为本地分支创建一个远程分支
git push origin localBranchName:remoteBranchName