Git的常用操作
首次使用git时要设置name和email
git config --global user.name "test name"
git config --global user.email "test name@qq.com"
克隆远程仓库到本地
git clone URL
如果你在本地已经有代码了,想推送到一个新的远程仓库
cd 代码所在的目录
git init
git add --all
git commit -m "init commit"
git remote add origin URL
git push -u origin HEAD:master
如果你想从一个git仓库推送到另一个新的远程仓库
cd 代码所在目录
git remote set-url origin URL
git push -u origin -all
git push origin --tags
如果你想将远程仓库remoteA的master分支推送的remoteB的uat分支
#先在本地加上remoteB,并给他取别名叫remoteB
git remote add remoteB
git remote -v 确保仓库已经关联到本地
#把A的master分支推送到B的uat分支
git push remoteB master:uat
git push -u origin demo #将demo分支推送到远程
git push origin --delete demo #将远程demo分支从远程仓库删除
git branch -D demo #将本地demo分支删除
git checkout -b demo 从当前本地分支拉取一个新分支demo
开发完成后,切回main分支并合并demo分支,再提交到远程main分支
git checkout main
git merge demo
git add .
git commit -m "merge demo branch feature"
git push
合并B仓库的b分支到A仓库的a分支的步骤如下
- 首先,你需要在你的本地A仓库的a分支上执行以下命令,切换到a分支:
git checkout a
- 然后,你需要添加B仓库作为一个远程仓库,命名为B。你可以使用以下命令:
git remote add B <B仓库的URL>
- 接下来,你需要从B仓库拉取b分支的代码到你的本地仓库。你可以使用以下命令:
git pull B b
- 最后,你需要将B仓库的b分支合并到你的a分支。你可以使用以下命令:
git merge B/b
如果我在仓库中有一个A文件,现在我想把A文件从仓库中移除,但是不从本地删除,可以用以下命令
git rm --cashed A
我commit了多次,然后想push到remote时发现有一个大文件不让上传,我也不想上传大文件了,需要从历史的commit中移除掉这个大文件
git filter-branch --tree-filter 'rm -f path' -- --all