Git 命令操作:
上传、删除操作流程:
1、拉取服务器代码,避免覆盖他人代码
git pull
2、查看当前项目中被修改的文件
git status
具体状态
(1) Untracked:未跟踪,一般为新增文件,此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
(2) Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.
(3) deleted: 文件已删除,本地删除,服务器上还没有删除.
(4) renamed: 文件被改名??
3、将状态改变的代码提交至缓存
git add . 使用上面的命令将所有的修改的文件提交到缓存区
git add + 文件
git add -u + 路径:将修改过的 被跟踪 代码提交缓存
git add -A + 路径: 将修改过的 未被跟踪的 代码提交至缓存
例如:
git add -u vpaas-frontend/src/components
将 vpaas-frontend/src/components 目录下被跟踪的已修改过的代码提交到缓存中
git add -A vpaas-frontend/src/components
将 vpaas-frontend/src/components 目录下未被跟踪的已修改过的代码提交到缓存中
4、删除本地文件
git rm 文件名
5、将代码提交到本地仓库中
git commit -m "提交日志"
6、将缓存区代码推送到Git服务器上面
git push
分支
查看分支:(包括本地分支/远端分支)
git branch -a
删除分支:
删除本地分支:
git branch -d 分支名称
删除远端分支:
git push origin --delete 分支名称
切换分支:
git checkout 分支名称
创建分支:
git branch 分支名
将本地分支推送到远端:
git push --set-upstream origin 分支名称
git restore
恢复本地仓库
git reset --hard origin/分支名称
分支A_bracn和B_branch,只想将A_branch分支的某个文件f.txt合并到B_branch分支上。
git checkout A_branch
git checkout --patch B_branch f.txt
第一个命令: 切换到A分支;
第二个命令:合并B分支上f文件到A分支上,将B分支上 f 文件追加补丁到A分支上 f文件。你可以接受或者拒绝补丁内容。
如果只是简单的将A_branch分支的文件f.txt copy到B_branch分支上;
git checkout B_branch
cd path /to/f .txt
git checkout A_bracn f.txt
常见问题解决:
1、误将代码提交到 缓存中 (利用git add 命令误将代码提交到缓存中)
解决办法: 利用 git reset 命令将撤回缓存中的代码
2、误将代码提交到 本地仓库 (利用git commit 命令误将代码提交到本地仓库)
解决办法: git reset --hard +版本号 彻底回退到某个版本,本地的代码也会改变上一个版本内容
修正commit提交的的描述
https://www.yisu.com/zixun/357280.html
git commit --amend -m“新的提交消息”
强推方法
1.查看git的提交版本和id 拿到需要恢复的版本号
git log
- 恢复到指定版本
命令:
git reset --hard <commit哈希>
3. 强制push
git push -f origin 分支名
强拉到本地
git fetch
git reset --hard origin/main
git pull
撤销add(未commit的add)
git reset
No Leanote account? Sign up now.