git命令分类整理:
全局设置:
1.git config --global user.name xxx :设置全局用户名,信息记录在 ~/.gitconfig 文件中
2.git config --global user.email xxx@xxx.com :设置全局邮箱地址,信息记录在 ~/.gitconfig 文件中
3.git init :将当前目录配置成git仓库,信息记录在隐藏的 .git 文件中
常用命令:
1.git add xx :将xx文件添加到暂存区 【将文件变绿】
2.git commit -m "给自己看的备注信息" :将暂存区的内容提交到当前分支 m是message的缩写
3.git status :查看仓库状态
4.git log :查看当前分支的所有版本
5.git push -u (第一次需要 -u 以后不需要) :将当前分支推送到远程仓库
6.git clone git@git.acwing.com:xxx/XXX.git :将远程仓库XXX下载到当前目录下
7.git branch :查看所有分支和当前所处分支
查看命令:
1.git diff xx :查看xx文件相对暂存区修改了哪些内容
2.git status :查看仓库状态
3.git log :查看当前分支的所有版本
4.git log --pretty=oneline :用一行来显示
5.git reflog :查看HEAD指针的移动历史(包括被回滚的版本)
6.git branch :查看所有分支和当前所处分支
7.git pull :将远程仓库的当前分支与本地的当前分支合并
删除命令:
1.git rm --cached xx :将xx文件从仓库索引目录中删掉,不希望管理这个文件
2.git restore --staged xx:== 将xx从暂存区里移除 ==
3.git checkout --xx 或 git restore xx :== 将xx文件尚未加入暂存区的修改全部撤销 ==
4.git checkout --. :撤销本地全部没有git add过的修改
代码回滚:
#git reset filename :进将filename的改动撤出暂存区,相当于git add filename的反操作
1.git reset --hard HEAD^ 或 git reset --hard HEAD~ :将代码回滚到上一个版本
2.git reset --hard HEAD^^ :往上回滚两次,以此类推
3.git reset --hard HEAD~100 :往上回滚100个版本
4.git reset --hard 版本号 :回滚到某一特定版本
git reset有三个模式
--hard :不保存所有变更
--soft :保存变更且变更内容处于Staged状态
--mixed :保存变更且变更内容处于Modified状态
远程仓库:
1.git remote add origin git@git.acwing.com:xxx/XXX.git :将本地仓库关联到远程仓库
2.git push -u (第一次需要 -u 以后不需要) :将当前分支推送到远程仓库
3.git push origin branch_name :将本地的某个分支推送到远程仓库
4.git clone git@git.acwing.com:xxx/XXX.git :将远程仓库XXX下载到当前目录下
5.git push --set-upstream origin branch_name :设置本地的branch_name分支对应远程仓库的branch_name分支
6.git push -d origin branch_name :删除远程仓库branch_name分支
7.git checkout -t origin/branch_name :将远程的branch_name分支拉取到本地
8.git pull :将远程仓库的当前分支与本地仓库的当前分支合并
9.git pull origin branch_name :将远程仓库的branch_name分支与本地仓库的当前分支合并
10.git branch --set-upstream-to=origin/branch_name1 branch_name2 :将远程的branch_name1分支与本地的branch_name2分支对应
分支命令:
1.git branch branch_name :创建新分支
2.git branch :查看所有分支和当前所处分支
3.git checkout -b branch_name :创建并切换到branch_name这个分支
4.git checkout branch_name :切换到branch_name这个分支
5.git merge branch_name :将分支branch_name合并到当前分支上
6.git branch -d branch_name :删除本地仓库的branch_name分支
7.git push --set-upstream origin branch_name :设置本地的branch_name分支对应远程仓库的branch_name分支
8.git push -d origin branch_name :删除远程仓库的branch_name分支
9.git checkout -t origin/branch_name :将远程的branch_name分支拉取到本地
10.git pull :将远程仓库的当前分支与本地仓库的当前分支合并
11.git pull origin branch_name :将远程仓库的branch_name分支与本地仓库的当前分支合并
12.git branch --set-upstream-to=origin/branch_name1 branch_name2 :将远程的branch_name1分支与本地的branch_name2分支对应
stash缓存
1.git stash :将工作区和暂存区中尚未提交提交的修改存入栈中
2.git stash apply :将栈顶存储的修改恢复到当前分支,但不删除栈顶元素
3.git stash drop :删除栈顶存储的修改
4.git stash pop :将栈顶存储的修改恢复到当前分支,同时删除栈顶元素
5.git stash list :查看栈中所有的元素
文件有四种状态(也对应四种颜色)
Untracted Unmodified Modified Staged
新建一个文件处于Untracted状态
Untracted ---- add the file ----> Staged
Unmodified ---- edit the file ----> Modified ---- stage the file ----> Staged
Staged ---- commit ----> Unmodified ---- remove the file ----> Untracted