git 常用命令
git config --global user.name xxx:设置全局用户名,信息记录在~/.gitconfig文件中
git config --global user.email xxx@xxx.com:设置全局邮箱地址,信息记录在~/.gitconfig文件中
git init:将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中
git status:查看当前仓库状态
git add XX:将XX文件的修改添加到暂存区,可以是加文件,也可以是删文件
git add .:将所有待加入暂存区的文件加入暂存区
git commit -m "给自己看的备注信息":将暂存区的内容提交到当前分支,即将暂存区的内容可持久化
git diff XX:查看XX文件相对于暂存区修改了哪些内容
git restore --stage xxx:撤销已经存到暂存区的内容,即删掉暂存区里的内容,仍需管理
git rm --cached XX:将文件从仓库索引目录中删掉,不需管理
git log:查看当前分支的所有版本,顺序是从下往上看
如果出现log退出不了的情况,直接按q即可退出
git log --pretty=oneline:查看当前分支所有版本,并且集中显示
git reset --hard HEAD^ 或 git reset --hard HEAD~:将代码库回滚到上一个版本
git reset --hard HEAD^^:往上回滚两次,以此类推
git reset --hard HEAD~100:往上回滚100个版本
git reset --hard 版本号:回滚到某一特定版本
git reflog:查看HEAD指针的移动历史(包括被回滚的版本)
git checkout — XX或git restore XX:将XX文件尚未加入暂存区的修改全部撤销
回滚到暂存区里保存的状态,如果暂存区是空,那么就回滚到头结点指向的版本
git remote add origin git@git.acwing.com:xxx/XXX.git:将本地仓库关联到远程仓库
git push origin branch_name:将本地的某个分支推送到远程仓库
git checkout -b branch_name:创建并切换到branch_name这个分支
git branch:查看所有分支和当前所处分支
git checkout branch_name:切换到branch_name这个分支
git merge branch_name:将分支branch_name合并到当前分支的当前节点上
加 -no-ff为复制一份
git branch -d branch_name:删除本地仓库的branch_name分支
git branch branch_name:创建新分支
git push --set-upstream origin branch_name:设置本地的branch_name分支对应远程仓库的branch_name分支
即云端没有这个分支,给云端创建这个分支
git push -d origin branch_name:删除远程仓库的branch_name分支
git branch --set-upstream-to=origin/branch_name1branch_name2:
将远程的branch_name1分支与本地的branch_name2分支对应
git pull:将远程仓库的当前分支与本地仓库的当前分支合并
git pull origin branch_name:将远程仓库的branch_name分支与本地仓库的当前分支合并
git stash:将工作区和暂存区中尚未提交的修改存入栈中
git stash list:查看栈中所有元素
git stash apply:将栈顶存储的修改恢复到当前分支,但不删除栈顶元素
git stash drop:删除栈顶存储的修改
git stash pop:将栈顶存储的修改恢复到当前分支,同时删除栈顶元素
当需要换远程仓库时,
1 git remote rm origin // 移除本地关联
2 git remote add origin git@github.com/example.git // 添加线上仓库
3 git push -u origin master // 注意:更改后,第一次上传需要指定 origin