VS 配置
- 无代码打开vs
- 打开
视图 -> 团队资源管理器
, 或Ctrl+Shift+G
- 新建仓库文件夹 -> 双击 -> 新建解决方案 -> 编码
- 设置同步, 可选
推送到远程存储库
- 打开
视图 -> 其他窗口 -> 程序包管理器控制台
, 或Ctrl+ˋ
, 即可输入git命令 - 执行
$env:GIT_REDIRECT_STDERR = '2>&1'
. 不然在powershell中使用git checkout命令会报错. - 一般流程为: 选定分支 -> (拉取) -> 添加文件 -> 提交 -> 推送
常用git命令
更新代码相关
# 从远程 master 分支获取代码(默认远程仓库为 origin)
git pull origin master
# 添加文件
git add file.abc
# 添加当前目录下所有文件
git add .
# 移除文件
git remove file.abc
# 提交代码(一定要加注释, 避免进入文本编辑器)
git commit -m "commit message"
# 推送代码到远程仓库的 master 分支
git push origin master
# 推送代码到远程仓库的其他分支(不存在则创建分支)
git push origin <branchname>
分支相关
# 列出本地所有分支
git branch
# 列出远程所有分支
git branch -r
git branch --remote
# 列出本地和远程的所有分支
git branch -a
# 新建分支
git branch <branchname>
# 切换分支
git checkout <branchname>
# 新建分支并切换(保留以前的log记录)
git checkout -b <branchname>
# 新建分支并切换(全新的log记录)
git checkout --orphan <branchname>
# 删除本地分支(存在没有提交或合并地修改时会失败)
git branch -d <branchname>
# 强制删除本地分支(强制删除, 如 master)
git branch -D <branchname>
# 删除远程分支(需推送服务器)
git branch -d -r origin/<branchname>
git push origin :<branchname>
# 重命名本地分支
git branch -m <newname>
对比相关
git diff <filename>
git diff <branch1> <branch2>
VS可视化: 转到文件夹视图, 选定查看的文件, 右键"与未修改的版本比较"
合并相关
# 合并某分支到当前分支
git merge <branchname>
日志相关
# 显示日志
git log --oneline
恢复删除的分支
注意: 每次删除分支前, 一定要提交后再删除. 最好使用git branch -d <branchname>
, 而不是强制删除-D
, 不然恢复了也找不回改动文件.
git checkout -b dev
git add .
git commit -m "initial files"
git checkout master
git merge dev
git branch -d dev
dev分支已删除, 执行git reflog
查看历史记录
07748ba HEAD@{0}: merge dev: Fast-forward
bfc22f0 HEAD@{1}: checkout: moving from dev to master
07748ba HEAD@{2}: commit: initial files
bfc22f0 HEAD@{3}: checkout: moving from master to dev
bfc22f0 HEAD@{4}: commit: 娣诲姞椤圭洰鏂囦欢銆?a0527b1 HEAD@{5}: commit (initial): 娣诲姞 .gitignore 鍜?.gitattributes銆?
找到删除dev分支前的操作, 即最后一次与dev分支相关的操作: 07748ba HEAD@{0}
进行分支恢复:
git branch dev-new 07748ba
再次查看分支, 即可看到已经恢复的dev-new
, 改名字是为了防止再次覆盖出错.
git branch
> * dev-new
> master