git通用操作集锦

背景

Git目前已成为比较流行的版本管理工具, 该文档记录使用Git过程中碰到的相关问题和解决方案.

问题集锦

1. 将远程仓库回退到指定版本

1
2
3
4
# --hard 参数会抛弃当前工作区的修改 
# --soft 参数会会退到之前的版本, 但保留当前工作区的修改, 可以重新提交
git reset --hard <版本号>
git push origin <分支名> --force

2. 为已存在的项目添加git

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 进入命令行, 切换至项目根目录(工作区)
cd path/to/proj
# 添加.ignore文件, 排除不需要提交的文件
# 初始化本地仓库
git init
# 查看git配置信息
git config --list
# 修改提交人信息
# 将项目中所有文件添加至暂存区(index/stage)
git add .
# 将暂存区的内容提交到本地仓库(HEAD)
git commit -m "初始化项目"
# 添加远程仓库
# 如果出现"fatal: remote origin already exists.​", 说明已添加过仓库, 执行"git remote rm origin"后, 再进行添加
git remote add origin + 目标仓库
# 将本地仓库内容提交至远程仓库
git push -u origin master

3. branch

1
2
# 删除git branch -a 中不存在的远程分支
git remote prune origin

4. 重建master分支

1
2
3
4
5
6
7
8
9
10
11
12
# 删除本地分支(merge了的分支)
git branch -d <分支名>
# 删除本地分支(不管有没有merge)
git branch -D <分支名>
# 删除远程分支(方法一)
git push --delete origin <分支名>
# 删除远程分支(方法二)
git push origin :<分支名>
# 新建master分支
git branch -b master
# 推送至远程
git push -u origin master

5. tag

1
2
3
4
5
6
7
8
# 新建标签
git tag -a <标签名> -m "标签备注"
# 推送标签至远程
git push origin --tags
# 删除远程标签(方法一)
git tag -d origin <标签名>
# 删除远程标签(方法二)
git push origin :refs/tags/<标签名>

6. 放弃本地修改,强制拉取更新

1
2
3
4
5
6
# 下载远程仓库最新内容,不做合并
git fetch --all
# 把HEAD指向master最新版本
git reset --hard origin/master
# 拉取代码,可省略
git pull

参考资料

转载

本文出自<<arccode>>, 欢迎转载, 转载请注明出处.