Git 使用
1. 更新改动的代码到仓库
git add . # 将工作区中的所有修改添加到暂存区
git commit -m "24-03-04: ignore file"
git push origin master
2. 拉取不同版本
git log
git checkout 35d2c50c8655ca04c8ba10f3fc91b69247f38632
git reset --hard 35d2c50c8655ca04c8ba10f3fc91b69247f38632
3. ".gitignore"规则不生效
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
解决方法: 先把本地缓存删除(改变成未track状态),再提交.
点击查看代码
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
/*注:本地代码有更新,要先上传本地代码,否则更新缓存会被删除,容易误操作*/
4.添加一个模块到git仓库
若子模块是一个独立的git仓库,嵌入到项目中,就会出现"未填充"的状态。
$ git add .
fatal: in unpopulated submodule 'NDT_FW/src/components'
解决方法:清空缓存并重新添加:
git rm -rf --cached NDT_FW/src/components
git add NDT_FW/src/components/*
5.git 版本比较
比较工作区与最近一次提交的差异,包括那些还没有暂存的文件。
git diff HEAD
比较两个提交
git diff commit1 commit2
git diff commitA commitB
比较.c和.h
git diff 993ccf4314598b6d5efe2b81af292177ab38be79 71cfd5140f7c6727701c7a989f470fdf62e77c08 *.c *.h
6.强制修改最后一次已推送到远程仓库的提交记录
git add .
git commit --amend -m "提交信息"
git push --force origin master
7.修改分支后重新提交一个干净的新分支
创建一个孤立分支,删除所有提交历史
git checkout --orphan temp-branch
添加所有改动到暂存区
git add .
提交改动作为新的初始提交
git commit -m "Initial commit with all changes"
重命名临时分支
git branch -m new_branch
提交分支
git push orgin new_branch
8.撤销最近一次本地提交(即撤销 commit,但保留代码改动)
git reset --soft HEAD~1
9.基于某一个历史版本修改,不需要强制提交
git reset 35d2c50c8655ca04c8ba10f3fc91b69247f38632
git commit “123”
git push origin branch
浙公网安备 33010602011771号