概览
- 1.为每一个命令设置一个别名。
- 2.添加你自己的取消暂存区的修改别名。git unstage fileA 命令与 git reset --fileA命令一样。
- 3.冲突处理:
- 4.获取Git仓库有两种方式:
- 5.配置本地仓库设置。每一个Git提交都会使用这些信息。
- 6.检查当前文件状态。
- 7.删除本地分支:git branch -D [branch_name]
- 8.删除远程分支:git push origin -d [branch_name]
- 9.常用的查看分支命令:
- 10.代码回退:
- 11.创建本地分支并关联远程的分支:git checkout -b 本地分支 origin/远程分支
- 12.提交当前分支代码到指定的分支:git push origin 本地分支:远程分支
- 13.设置本地当前分支与远程分支的映射关系:
- 14.解除当前分支与远程分支的映射关系:git branch --unset-upstream
- 15.合并远程分支的多条 commit 历史。
- 16.远程强制覆盖本地:
1.为每一个命令设置一个别名。
- 1-1.git config --global alias.co checkout
- 1-2.效果:git co <==> git checkout
- 1-3.git config --global alias.br branch
- 1-4.效果:git br <==> git branch
- 1-5.git config --global alias.ci commit
- 1-6.效果:git ci <==> git commit
- 1-7.git config --global alias.st status
- 1-8.效果:git st <==> git status
2.添加你自己的取消暂存区的修改别名。git unstage fileA 命令与 git reset --fileA命令一样。
- 2-1.git config --global alias.unstage ‘reset HEAD’
- 2-2.效果:git reset HEAD fileA <===> git unstage fileA
3.冲突处理:
- 3-1.用于合并时把有冲突时文件标记为已解决状态等。可以理解为:精确地将内容添加到下一次提交中。冲突时会有“CONFLICT”字样,处理完冲突后,提交冲突修改文件:
- ①处理完冲突后暂存修改的文件:git add .
- ②继续处理冲突:git rebase --continue
- ③若不想继续处理冲突:git rebase --abort
4.获取Git仓库有两种方式:
- 4-1.本地新建文件夹 my_project:cd /c/cd /Users/user/my_project
- ①初始化仓库:git init
- ②提交一些东西到暂存区:git add x.js
- ③提交:git commit -m ‘initial project version’
- 4-2.从其他服务器克隆一个已存在的 Git 仓库:克隆远程仓库的时候,自定义本地仓库的名字,通过额外参数指定新的目录名:
- ①git clone https://github.com/xxxxx/xxx.git
- ②git clone https://github.com/xxxx mylibgit
5.配置本地仓库设置。每一个Git提交都会使用这些信息。
- 5-1.全局配置用户名,邮箱
- ①git config --global user.name “xxxw13339”
- ②git config --global user.email “13339@sangfor.com”
- 5-2.生成SSH公钥对。
- ①ssh-keygen -t rsa -C “13339@sangfor.com”
- ②查看: cat ~/.ssh/id_rsa.pub
- 5-3.是否设置密码:设置自己的私人密码
- ①Enter passphrase (empty for no passphrase):
- ②Enter same passphrase again:
- 5-4.输出公钥内容
- ①cat ~/.ssh/id_rsa.pub
- 5-5.针对 https 协议的仓库,记住密码,避免每次都要求输入密码
- ①git config --global credential.helper store
6.检查当前文件状态。
- 6-1.Untracked files 表示未跟踪(红色文件名),changes to be committed 表示已跟踪,存在暂存区(绿色文件名):git status
- 6-2.简化查看状态命令的输出:输出中有两栏,左栏指明了暂存区的状态,右栏指明了工作区的状态。
- 6-3.git status -s 或 git status -short
输出:
M x.md // 已跟踪文件工作区已修改但尚未暂存
MM y.md // 已跟踪文件已修,暂存后又做了修改
A z.md // 新添加到暂存区中的文件
M u.md // 已跟踪文件已修改已暂存
?? o.md // 新添加的未跟踪的文件 - 6-4.查看文件在工作区和暂存区区别命令:git diff 【file-name】
- 6-5.查看暂存区和本地仓库区别:git diff --cached 【file-name】
7.删除本地分支:git branch -D [branch_name]
8.删除远程分支:git push origin -d [branch_name]
9.常用的查看分支命令:
- 9-1.查看本地分支:git branch
- 9-2.查看远程分支:git branch -r
- 9-3.查看本地分支与远程分支:git branch -a
- 9-4.查看当前本地分支与远程分支的关系:git branch -vv
10.代码回退:
- 10-1.回退到上个commit:git reset --hard HEAD^
- 10-2.回退到前3次提交之前,以此类推,回退到n次提交之前:git reset --hard HEAD~3
- 10-3.回退到指定commit:git reset --hard commit-id
11.创建本地分支并关联远程的分支:git checkout -b 本地分支 origin/远程分支
12.提交当前分支代码到指定的分支:git push origin 本地分支:远程分支
13.设置本地当前分支与远程分支的映射关系:
- 13-1.git branch -u origin/远程分支名 <==> git branch --set-upstream-to origin/
14.解除当前分支与远程分支的映射关系:git branch --unset-upstream
15.合并远程分支的多条 commit 历史。
- 15-1.查看当前提交历史:$ git log
- 15-2.回到最初的提交:$ git rabase -i HEAD~n
- 15-3.进入 vim 窗口,将需要合并的 commit 描述信息前的 pick 改成 s,然后 esc 键 + wq 保存退出,合并成功后会出现一个 vim 窗口用于编辑 commit 信息。
- 15-4.最后强推到远程分支:$ git push -f
16.远程强制覆盖本地:
- 16-1.获取远程所有的分支:git fetch --all
- 16-2.回退远程分支的最新版本:git reset --hard origin/远程分支
- 16-3.拉取:git pull