一、用户管理
- 
设置git用户名和邮箱:
- git config --global user.name "username"
 - git config --global user.email "email"
 
 - 
查看用户名和邮箱:
- git config user.name
 - git config user.email
 
 
二、分支管理
- 查看分支状态
- git status
 - git show --stat
 
 - 查看分支
- git branch
 
 - 创建分支
- git branch [new branch name] [come from where]
 
 - 切换分支
- git checkout [branch-name]
 
 - 创建并切换分支
- git checkout -b [new_branch_name]
 
 - 删除分支
- git branch -d [branch_name]
 
 - 分支合并
- git checkout master + git merge [branch_name]
 
 - 提交并推送分支
- git add .
 - git commit -m “xxx”
 - git push -u origin [origin_branch_name]
 
 - git远程分支覆盖本地分支
- git fetch --all
 - **git reset --hard origin/master **(这里master要修改为对应的分支名)
 - git pull (解决可能的冲突)
 
 
三、文件管理
- 获取单个文件
- git checkout .
 - git checkout [filename]
 
 - 删除误增加的文件
- git clean -f
 
 - 忘记切换分支,误将代码提交到了别的远程分支
- **git reset HEAD^1 ** #回滚提交 reset
- **git stash ** # 将被跟踪的内容stash, 新建的文件不用担心, 依旧是未跟踪文件.
- **git checkout -t origin/production -b issue-0 ** # 切换到正确分支(或者创建一个分支)
- **git stash pop ** # 将stash的内容pop出来
- **git add . ** # 提交和推送了
- **git commit -m ** "提交信息"
- **git push origin issue-0 **
- **git checkout production ** # 但原来的分支production依旧是多了一次提交, 这时候需要切回去, 提交一次
- **git push origin production ** -f # 这里要加上-f强制提交 - error: object file .git/objects/xx/xxxxx is empty
- 备份.git目录
- **cp -a .git .git-old **
 
 - 根据修复提示删除空对象文件。根据最早的空文件提示也删除那个文件。
- **git fsck --full **
 - **rm .git/objects/19/b45524e14258043923c2bc4d336269f1abc67f **
 
 - 删除后再次查看修复提示,说明Head commit无效。
- **git fsck --full ** // 段错误 (核心已转储)% (3/256)
 - **git reflog ** // fatal: bad object HEAD
 
 - 找到当前分支Head的前两条数据。
- **tail -n 2 .git/logs/refs/heads/master **
- //注意,如果不是master分支,则.git/logs/refs/heads/branchName
 - // a6f48ebd79ef39b2c43e5810fc96e95cc0867389 ed41eac57be18e8d112ca5bb898dd77c3b120321
 
 
 - **tail -n 2 .git/logs/refs/heads/master **
 - 第一条Head是无效的。我们需要确认第二条是我们的上次失败的commit的前一个提交。
- **git show ed41eac57be18e8d112ca5bb898dd77c3b120321 ** //输出信息为日志详细信息
 
 - 设置确认的commit为HEAD commit
- **git update-ref HEAD ed41eac57be18e8d112ca5bb898dd77c3b120321 **
 
 
 - 备份.git目录
 
四、运维管理
- 查看要回退到的版本号
- git log
 
 - 删除本地缓存配置
- **git rm -r --cached . **
 - **git add . **
 - **git commit -m 'update .gitignore' **
 
 
本文由博客一文多发平台 OpenWrite 发布!