git基础

Posted by アライさん on 2021年05月12日

以revert的方式回滚代码

git上留有记录

1
2
3
git log  //查看提交记录,最新的在上方
git revert d7fbc705425cde5b5d811bc6d648e6e23a47ae44 //回滚指定提交修改的内容
git push

github的全局配置保存在~/.gitconfig中

合并分支

当master代码改动,需要合并到dev分支

1
2
3
4
5
git checkout master  //切换到master分支
git pull //更新master分支
git checkout dev //切换到dev分支
git merge master //将master分支的内容合并到dev分支
git push

当dev代码达到标准,需要合并到master分支

1
2
3
4
5
git checkout dev  //切换到dev分支
git pull //更新dev分支
git checkout master //切换到master分支
git merge dev //将dev分支的内容合并到master分支
git push

clone:

1
git clone ssh://root@192.168.100.100/home/gerrit/GerritResource/Gerrit_Test.git

拉取并切换分支:

1
git checkout -b gerrit_dev origin/Gerrit_Dev

追踪远程的origin/Gerrit_Dev,在本地起名为gerrit_dev,并切换至gerrit_dev分支。

add添加所有改变的已跟踪文件和未跟踪文件:

1
git add -A

-S代表使用GPG 提交签名

1
git commit -S -m "singed commit from zhaoqile"

git查看设置:

1
git config --list

git删除设置:

1
git config --global unset  user.name

git查看远程分支:

1
git branch -r

git查看本地分支:

1
git branch

git查看远程和本地的所有分支:

1
git branch -a

git切换本地分支:

1
git checkout master

git拉取代码:

git pull

git fetch

1
git fetch origin Test_APP

拉取origin主机上的Test_APP分支的新修改
fetch不会自动合并。

1
2
git log -p Test_APP..origin/Test_APP
git merge origin/Test_APP

推送到服务器:

1
git push --signed=yes origin Test_APP:refs/for/Test_APP

origin代表远程主机名
将本地的Test_APP分支推送到远程的Test_APP分支

回滚代码

通过git log查看历史commit 54d87dc4199f5a4a242c9bf5ccc630fac3f04997
直接将当前项目跳转为这次提交后的内容

1
git reset --hard 54d87dc4199f5a4a242c9bf5ccc630fac3f04997

差异对比

还没有commit的,可以用

1
git status

commit之后的,可以用

1
git diff

clean删除没有被跟踪的文件

1
2
3
4
//交互式清除
git clean -xdi
//强制清除
git clean -xdf

配置当前目录不验证证书

1
vim project/.git/config

增加

1
2
[http]
sslVerify = false

删除分支

1
2
3
4
//删除本地分支
git branch -d v1.2.6
//删除远程分支
git push origin --delete v1.2.6

tag

1
2
3
4
5
6
7
8
//列出tag
git tag
//创建tag
git tag -a tagName -m "tag备注信息"
//删除tag
git tag -d tagName
//推送所有tag至origin
git push origin --tags

用现有tag创建新的分支

1
2
3
4
//用tagName创建branchName分支  
git branch branchName tagName
//把新的分支推送到原创
git push origin branchName