常用git命令
常用git命令
- 查看状态
1
git status
- 勾选文件
- 指定路径的话可以勾选修改和新增的(不在版本库中的)文件
1
git add README.md src/js/test.js
- 在当前目录及其下级目录内勾选文件
1
git add .
- 勾选所有修改和新增的文件
1
git add -A / git add --all
- 提交如果只有修改文件,没有新增文件,可以将勾选和提交合并到一起操作,不推荐使用。
1
git commit -m 'init'
1
git commit -am 'init'
- 拉取
1
git pull
- 推送
1
git push
- 放弃更改
1
git checkout READM.md
- 版本回退
- git reset: 如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。如果想保留之前的内容,可以使用
1
2
3
4git log // 查看版本号列表
git reset --hard 【目标版本号】
git log // 查看当前版本指向
git push -f // 提交更改--soft
1
2git reset --soft HEAD^ // 回退到前一个版本,保留文件
git reset --soft 【目标版本号】 // 回退到目标版本,保留文件 - git revert: 将某次的版本回退,它之后的版本会被保留。
1
2
3
4git log
git revert -n 【目标版本号】
git commit -m 'revert add text.txt' // 将修改提交
git push
- 修改commit注释
1
git commit --amend // 此时会进入默认vim编辑器,修改注释完毕后保存就好了
- 清除不在版本库内的新增文件
1
git clean -f -d
- 分支
1
2
3
4git checkout -b feature/test // 本地新增分支feature/test
git checkout feature/test // 切换到分支feature/test
git checkout --track origin/master // 检出远程分支
git merge A // 将A分支合并到当前分支 - 查看差异
- 比较工作区和暂存区test.js的差异
1
git diff test.js
- 对比两次提交(分支、标签)的修改
1
git diff develop..master
其它
配置提交者信息
1
2git config -global user.name a
git config -global user.email xxx@qq.com如果想为不同项目配置不同的信息,可以不加
global
,在该项目下执行上述语句。为已提交的版本修改committer和author
假设之前commit时候author和committer为”a”,改为”b”,邮箱改为”xxx@qq.com“1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23git filter-branch -f --env-filter '
an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"
if [ "$GIT_COMMITTER_NAME" = "a" ]
then
cn="b"
cm="xxx@qq.com"
fi
if [ "$GIT_AUTHOR_NAME" = "a" ]
then
an="b"
am="xxx@qq.com"
fi
export GIT_AUTHOR_NAME="$an"
export GIT_AUTHOR_EMAIL="$am"
export GIT_COMMITTER_NAME="$cn"
export GIT_COMMITTER_EMAIL="$cm"
'推送到所有版本上
1
git push --force --tags origin 'refs/heads/*'
感谢您的阅读,本文由 Astar 版权所有。如若转载,请注明出处:Astar(http://example.com/2022/03/25/%E5%B8%B8%E7%94%A8git%E5%91%BD%E4%BB%A4/)